git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 4/5] Fix drop-down menus in the git-gui dialogs.
@ 2007-03-26  7:39 Eygene Ryabinkin
  0 siblings, 0 replies; only message in thread
From: Eygene Ryabinkin @ 2007-03-26  7:39 UTC (permalink / raw
  To: git

If the drop-down menu (for example "Local Branch" from the dialog
activated by the "Branch/Create..." menu item) is chosen with the
left mouse button, then the pointer is moved off the drop-down menu
while the mouse button is still pressed and then the 'Escape' key
is pressed, the main menu will be broken. Next time when you will
try to select any main menu item, the Tcl/Tk interpreter will spawn
an internal error.

Error was fixed by "grab"bing the drop-down menu windows on their
activation. Now all drop-down menus are disappearing once the mouse
button is depressed, no matter what is the current position of the
mouse pointer.

Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>
---
 git-gui/git-gui.sh |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 13c440d..f10cfa7 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -2115,6 +2115,7 @@ proc do_create_branch {} {
 		-font font_ui
 	set lbranchm [eval tk_optionMenu $w.from.head_m create_branch_head \
 		$all_heads]
+	bind $lbranchm <Visibility> "grab $lbranchm"
 	$lbranchm configure -font font_ui
 	$w.from.head_m configure -font font_ui
 	grid $w.from.head_r $w.from.head_m -sticky w
@@ -2129,6 +2130,7 @@ proc do_create_branch {} {
 		set tbranchm [eval tk_optionMenu $w.from.tracking_m \
 			create_branch_trackinghead \
 			$all_trackings]
+		bind $tbranchm <Visibility> "grab $tbranchm"
 		$tbranchm configure -font font_ui
 		$w.from.tracking_m configure -font font_ui
 		grid $w.from.tracking_r $w.from.tracking_m -sticky w
@@ -2144,6 +2146,7 @@ proc do_create_branch {} {
 		set tagsm [eval tk_optionMenu $w.from.tag_m \
 			create_branch_tag \
 			$all_tags]
+		bind $tagsm <Visibility> "grab $tagsm"
 		$tagsm configure -font font_ui
 		$w.from.tag_m configure -font font_ui
 		grid $w.from.tag_r $w.from.tag_m -sticky w
@@ -2342,6 +2345,7 @@ proc do_delete_branch {} {
 	set mergedlocalm [eval tk_optionMenu $w.validate.head_m \
 		delete_branch_head \
 		$all_heads]
+	bind $mergedlocalm <Visibility> "grab $mergedlocalm"
 	$mergedlocalm configure -font font_ui
 	$w.validate.head_m configure -font font_ui
 	grid $w.validate.head_r $w.validate.head_m -sticky w
@@ -2356,6 +2360,7 @@ proc do_delete_branch {} {
 		set mergedtrackm [eval tk_optionMenu $w.validate.tracking_m \
 			delete_branch_trackinghead \
 			$all_trackings]
+		bind $mergedtrackm <Visibility> "grab $mergedtrackm"
 		$mergedtrackm configure -font font_ui
 		$w.validate.tracking_m configure -font font_ui
 		grid $w.validate.tracking_r $w.validate.tracking_m -sticky w
@@ -2728,6 +2733,7 @@ proc do_push_anywhere {} {
 			-font font_ui
 		set remmenu [eval tk_optionMenu $w.dest.remote_m push_remote \
 			$all_remotes]
+		bind $remmenu <Visibility> "grab $remmenu"
 		$remmenu configure -font font_ui
 		$w.dest.remote_m configure -font font_ui
 		grid $w.dest.remote_r $w.dest.remote_m -sticky w
@@ -4687,6 +4693,7 @@ proc do_options {} {
 		set fontmenu [eval tk_optionMenu $w.global.$name.family \
 			global_config_new(gui.$font^^family) \
 			$all_fonts]
+		bind $fontmenu <Visibility> "grab $fontmenu"
 		$w.global.$name.family configure -font font_ui
 		$fontmenu configure -font font_ui
 		spinbox $w.global.$name.size \
-- 
1.5.0.3-dirty

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2007-03-26  7:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-26  7:39 [PATCH 4/5] Fix drop-down menus in the git-gui dialogs Eygene Ryabinkin

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).