From 580b73de258635ca392d917cda4341ac5f1a2535 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 11:15:02 -0400 Subject: [PATCH] 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 --- lib/choose_repository.tcl | 6 ++++++ 1 file changed, 6 insertions(+) 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 } -- 2.30.2