Re: [PATCH 3/3] gitk: check main window visibility before waiting for it to show
- From
Chris Torek <chris.torek@gmail.com>
- Date
- Aug 4, 2021, 06:27 UTC
- Message-ID
- <CAPx1Gvdp85H_EY9qLY3jkxktXCDAwJyznMWfDDGHy56db7sc6Q@mail.gmail.com>
- In-Reply-To
- <20210804010900.33133-4-carenas@gmail.com>
On Tue, Aug 3, 2021 at 6:51 PM Carlo Marcelo Arenas Belón <carenas@gmail.com> wrote:
Show 27 quoted lines
>
> From: Tobias Pietzsch <pietzsch@mycroft.speedport.ip>
>
> 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 <pietzsch@mycroft.speedport.ip>
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
> gitk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gitk b/gitk
> index b62c12f..cc587b5 100755
> --- a/gitk
> +++ b/gitk
> @@ -12664,7 +12664,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
> readrefsI have no objection to this patch (and the other two look fine to me) but I would like to say that this whole idea looks racy in general, and that it would be better to fix this inside Tk itself: the internal visibility-wait should be doing the visibility-check already. Given that it's obviously *not*, this, as a workaround, seems OK.
Chris