[PATCH v2 git-gui] git-gui--askpass: Do not hang on exit
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jul 4, 2010, 21:24 UTC
- 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 . <Destroy> {exit $::rc}line; apparently each exit causes the window to be destroyed again, resulting in git gui hanging.
Reported-by: Anders Kaseorg <andersk@mit.edu> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> --- I wrote:
> @@ -52,7 +52,9 @@ proc finish {} {
>
> set ::rc 0
> puts $::answer
> + bind . <Destroy> {}
> 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 . <Visibility> {focus -force .e} bind . <Key-Return> finish bind . <Key-Escape> {destroy .} -bind . <Destroy> {exit $rc} +bind . <Destroy> { + bind . <Destroy> {} + exit $::rc +} proc finish {} { if {$::yesno} {