diff options
author | 2007-10-12 11:15:02 -0400 | |
---|---|---|
committer | 2007-10-12 23:05:59 -0400 | |
commit | 580b73de258635ca392d917cda4341ac5f1a2535 (patch) | |
tree | 34b1755521dc6d9df03459953dcae298abd9bc76 | |
parent | git-gui: Offer repository management features in menu bar (diff) | |
download | tgif-580b73de258635ca392d917cda4341ac5f1a2535.tar.xz |
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 <spearce@spearce.org>
-rw-r--r-- | lib/choose_repository.tcl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 46d5b77c00..ab8e620c70 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 <Destroy> [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 <Destroy> " + [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 <Destroy> [list trace remove variable @local_path write [cb _write_local_path]] update focus $w_body.where.t } |