summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2007-08-20 00:53:04 -0400
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2007-08-20 00:38:13 -0400
commitc6951ddb522a7d8ee0fc371cf9c37e727e676989 (patch)
treeedabba9ace51eb6a97ff44c9479076817f6b430a /lib
parentgit-gui: Added support for OS X right click (diff)
downloadtgif-c6951ddb522a7d8ee0fc371cf9c37e727e676989.tar.xz
git-gui: Fix window manager problems on ion3
cehteh on #git noticed that secondary windows such as console windows from push/fetch/merge or the blame browser failed on ion when we tried to open them a second time. The issue turned out to be the fact that on ion [winfo ismapped .] returns false if . is not visible right now because it has been obscured by another window in the same panel. So we need to keep track of whether or not the root window has been displayed for this application, and once it has been we cannot ever assume that ismapped is going to return true. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/class.tcl3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/class.tcl b/lib/class.tcl
index 24e8cecea4..dc2141192a 100644
--- a/lib/class.tcl
+++ b/lib/class.tcl
@@ -148,11 +148,12 @@ proc make_toplevel {t w args} {
}
}
- if {[winfo ismapped .]} {
+ if {$::root_exists || [winfo ismapped .]} {
regsub -all {::} $this {__} w
set top .$w
set pfx $top
toplevel $top
+ set ::root_exists 1
} else {
set top .
set pfx {}