* [PATCH] gitk: avoid a crash in Tk if the application is closed early
@ 2009-02-28 0:19 Pat Thoyts
0 siblings, 0 replies; only message in thread
From: Pat Thoyts @ 2009-02-28 0:19 UTC (permalink / raw)
To: git; +Cc: paulus
This evades Tk bug [2645457] that can lead to a crash in gitk if
the application is closed while the commits are still being read
from the git subprocess. By calling update to flush all the
outstanding geometry events we avoid the chance of trying to map a
deleted window.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
---
gitk | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/gitk b/gitk
index 2b5265a..cd7ea2f 100755
--- a/gitk
+++ b/gitk
@@ -1795,6 +1795,7 @@ proc make_transient {window origin} {
proc show_error {w top msg} {
variable use_ttk
set ttk [expr {$use_ttk ? "ttk" : ""}]
+ if {[wm state $top] eq "withdrawn"} { wm deiconify $top }
message $w.m -text $msg -justify center -aspect 400
pack $w.m -side top -fill x -padx 20 -pady 20
${ttk}::button $w.ok -default active -text [mc OK] -command "destroy $top"
@@ -10998,12 +10999,9 @@ proc init {args} {
variable lserial 0
variable isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}]
setcoords
- makewindow
- # wait for the window to become visible
- wm deiconify .
- tkwait visibility .
+ wm withdraw .
wm title . "[file tail $argv0]: [file tail [pwd]]"
- readrefs
+ makewindow
if {$cmdline_files ne {} || $revtreeargs ne {} || $revtreeargscmd ne {}} {
# create a view for the files/dirs specified on the command line
@@ -11034,11 +11032,20 @@ proc init {args} {
}
}
+ # wait for the window to become visible
+ wm deiconify .
+ tkwait visibility .
+
if {[tk windowingsystem] eq "win32"} {
focus -force .
bind . <Control-F2> {console show}
}
+ # flush all geometry events to prevent possible crash if someone exits
+ # during the following reads.
+ update
+
+ readrefs
getcommits {}
}
--
1.6.0.2.1172.ga5ed0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2009-02-28 1:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-28 0:19 [PATCH] gitk: avoid a crash in Tk if the application is closed early Pat Thoyts
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).