Pratyush Yadav <me@xxxxxxxxxxxxxxxxx> writes: > If there are no comments/objections with this patch, can it be merged > please? It usually works the other way around (no comments by default means no interests), but sadly, a larger problem with this area is that there currently is nobody who is actively working on maintaining the 'git-gui' project, which is a separate project that our tree merely pulls from time to time. So we need to find a volunteer to run that project, send the patch in that direction and get it merged, and then finally we can pull from them X-<. > > On 8/4/19 8:09 PM, Pratyush Yadav wrote: >> If the toplevel window for the window being destroyed is the main window >> (aka "."), then simply destroying it means the cleanup tasks are not >> executed like saving the commit message buffer, saving window state, >> etc. All this is handled by do_quit so, call it instead of directly >> destroying the main window. For other toplevel windows, the old behavior >> remains. >> >> Signed-off-by: Pratyush Yadav <me@xxxxxxxxxxxxxxxxx> >> --- >> git-gui/git-gui.sh | 19 +++++++++++++++++-- >> 1 file changed, 17 insertions(+), 2 deletions(-) >> >> diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh >> index 6de74ce639..6ec562d5da 100755 >> --- a/git-gui/git-gui.sh >> +++ b/git-gui/git-gui.sh >> @@ -3030,8 +3030,23 @@ unset doc_path doc_url >> wm protocol . WM_DELETE_WINDOW do_quit >> bind all <$M1B-Key-q> do_quit >> bind all <$M1B-Key-Q> do_quit >> -bind all <$M1B-Key-w> {destroy [winfo toplevel %W]} >> -bind all <$M1B-Key-W> {destroy [winfo toplevel %W]} >> + >> +set m1b_w_script { >> + set toplvl_win [winfo toplevel %W] >> + >> + # If we are destroying the main window, we should call do_quit to take >> + # care of cleanup before exiting the program. >> + if {$toplvl_win eq "."} { >> + do_quit >> + } else { >> + destroy $toplvl_win >> + } >> +} >> + >> +bind all <$M1B-Key-w> $m1b_w_script >> +bind all <$M1B-Key-W> $m1b_w_script >> + >> +unset m1b_w_script >> set subcommand_args {} >> proc usage {} { >>