From: Jonathan Nieder Date: Sun, 04 Jul 2010 21:24:39 GMT Subject: [PATCH v2 git-gui] git-gui--askpass: Do not hang on exit Message-ID: <20100704212439.GA1765@burratino> In-Reply-To: <20100704212125.GA1613@burratino> Anders Kaseorg wrote: > When git-gui--askpass is manually copied from the source into > /usr/lib/git-core, though, it doesn’t particularly work; its window > just freezes after the password is typed. The problem seems to be the bind . {exit $::rc} line; apparently each exit causes the window to be destroyed again, resulting in git gui hanging. Reported-by: Anders Kaseorg Signed-off-by: Jonathan Nieder --- I wrote: > @@ -52,7 +52,9 @@ proc finish {} { > > set ::rc 0 > puts $::answer > + bind . {} > destroy . but that does nothing to help the case when the destroy event comes from the window manager. Here’s a saner patch (sorry for the noise). diff --git a/git-gui--askpass b/git-gui--askpass index 12e117e..20b8799 100755 --- a/git-gui--askpass +++ b/git-gui--askpass @@ -39,7 +39,10 @@ pack .b -side bottom -fill x -padx 10 -pady 10 bind . {focus -force .e} bind . finish bind . {destroy .} -bind . {exit $rc} +bind . { + bind . {} + exit $::rc +} proc finish {} { if {$::yesno} { --