From: Shawn O. Pearce Date: Fri, 12 Oct 2007 15:15:02 +0000 (-0400) Subject: git-gui: Fix bind errors when switching repository chooser panels X-Git-Tag: gitgui-0.9.0~24 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=580b73de258635ca392d917cda4341ac5f1a2535;p=git.git git-gui: Fix bind errors when switching repository chooser panels We need to remove any variable traces we may have installed when the panel is destroyed as the trace may attempt to use a widget that no longer exists on this panel. Signed-off-by: Shawn O. Pearce --- diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 46d5b77c0..ab8e620c7 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -352,6 +352,7 @@ method _do_new {} { pack $w_body.where -fill x trace add variable @local_path write [cb _write_local_path] + bind $w_body.h [list trace remove variable @local_path write [cb _write_local_path]] update focus $w_body.where.t } @@ -477,6 +478,10 @@ method _do_clone {} { trace add variable @local_path write [cb _update_clone] trace add variable @origin_url write [cb _update_clone] + bind $w_body.h " + [list trace remove variable @local_path write [cb _update_clone]] + [list trace remove variable @origin_url write [cb _update_clone]] + " update focus $args.origin_t } @@ -948,6 +953,7 @@ method _do_open {} { pack $w_body.where -fill x trace add variable @local_path write [cb _write_local_path] + bind $w_body.h [list trace remove variable @local_path write [cb _write_local_path]] update focus $w_body.where.t }