[PATCH] gitk: check main window visibility before waiting for it to show

Subsystems: the rest

STALE2037d

2 messages, 2 authors, 2021-01-10 · open the first message on its own page

[PATCH] gitk: check main window visibility before waiting for it to show

From: Tobias Pietzsch via GitGitGadget <hidden>
Date: 2021-01-09 23:27:26

From: Tobias Pietzsch <redacted>

If the main window is already visible when gitk waits for it to
become visible, gitk hangs forever.
This commit adds a check whether the window is already visible.
See https://wiki.tcl-lang.org/page/tkwait+visibility

Signed-off-by: Tobias Pietzsch <redacted>
---
    gitk: check main window visibility before waiting for it to show
    
    If the main window is already visible when gitk waits for it to become
    visible, gitk hangs forever.
    
    This commit adds a check whether the window is already visible. See
    https://wiki.tcl-lang.org/page/tkwait+visibility
    
    The symptom of the for-ever waiting is that gitk shows just an empty
    window, like this: https://tinyurl.com/yxr5qlf6 It happens (to me) on
    macOS 11.1 with git-gui installed via homebrew. It doesn't happen on
    macOS 10.14.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-944%2Ftpietzsch%2Fmaster-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-944/tpietzsch/master-v1
Pull-Request: https://github.com/git/git/pull/944

 gitk-git/gitk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 23d9dd1fe0d..cd02b4d50fc 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -12658,7 +12658,7 @@ catch {
     wm iconphoto . -default gitlogo gitlogo32
 }
 # wait for the window to become visible
-tkwait visibility .
+if {![winfo viewable .]} {tkwait visibility .}
 set_window_title
 update
 readrefs
base-commit: 72c4083ddf91b489b7b7b812df67ee8842177d98
-- 
gitgitgadget

Re: [PATCH] gitk: check main window visibility before waiting for it to show

From: Beat Bolli <hidden>
Date: 2021-01-10 22:24:19

On 10.01.21 00:26, Tobias Pietzsch via GitGitGadget wrote:
From: Tobias Pietzsch <redacted>

If the main window is already visible when gitk waits for it to
become visible, gitk hangs forever.
This commit adds a check whether the window is already visible.
See https://wiki.tcl-lang.org/page/tkwait+visibility

Signed-off-by: Tobias Pietzsch <redacted>
---
    gitk: check main window visibility before waiting for it to show

    If the main window is already visible when gitk waits for it to become
    visible, gitk hangs forever.

    This commit adds a check whether the window is already visible. See
    https://wiki.tcl-lang.org/page/tkwait+visibility

    The symptom of the for-ever waiting is that gitk shows just an empty
    window, like this: https://tinyurl.com/yxr5qlf6 It happens (to me) on
    macOS 11.1 with git-gui installed via homebrew. It doesn't happen on
    macOS 10.14.
Thanks, this also occurred on my macOS 10.14.6 just an hour ago after a
recent brew upgrade, and the patch makes gitk usable again.

Cheers, Beat
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help