threads / patch / 45563

patchgit-gui: Error on systems with TK < 8.6.0

Subject: [PATCH] git-gui: Error on systems with TK < 8.6.0

## tl;dr

2 messages between Mar 31, 2017 and Mar 31, 2017. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Peter van der Does· Mar 31, 2017, 12:54 UTC · lore

Using git-gui on systems that run a TK version below 8.6.0 results in a crash when checking for the current theme.

Catch the error on those systems and use a different command to check
for the current theme.
---
 git-gui/lib/themed.tcl | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Show changes to git-gui/lib/themed.tcl +5 −1
diff --git a/git-gui/lib/themed.tcl b/git-gui/lib/themed.tcl
index 351a712c8..bb4e8f25e 100644
--- a/git-gui/lib/themed.tcl
+++ b/git-gui/lib/themed.tcl
@@ -248,7 +248,11 @@ proc tspinbox {w args} {
 proc ttext {w args} {
 	global use_ttk
 	if {$use_ttk} {
-		switch -- [ttk::style theme use] {
+		# Handle either current Tk or older versions of 8.5
+		if {[catch {set theme [ttk::style theme use]}]} {
+			set theme  $::ttk::currentTheme
+		}
+		switch -- $theme {
 			"vista" - "xpnative" {
 				lappend args -highlightthickness 0 -borderwidth 0
 			}
-- 
2.12.2
Junio C Hamano· Mar 31, 2017, 17:19 UTC · re: Peter van der Does · lore

Re: [PATCH] git-gui: Error on systems with TK < 8.6.0

Peter van der Does <peter@avirtualhome.com> writes:
Show 6 quoted lines
> Using git-gui on systems that run a TK version below 8.6.0 results in a
> crash when checking for the current theme.
>
> Catch the error on those systems and use a different command to check
> for the current theme.
> ---

Needs sign-off. Also if you can make the patch against the git-gui project (the upstream project for this part of our tree, which has this file at lib/themed.tcl, not at git-gui/lib/themed.tcl) and send it to its maintainer (Cc'ed), it would be great.

Thanks.
Show 20 quoted lines
>  git-gui/lib/themed.tcl | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/git-gui/lib/themed.tcl b/git-gui/lib/themed.tcl
> index 351a712c8..bb4e8f25e 100644
> --- a/git-gui/lib/themed.tcl
> +++ b/git-gui/lib/themed.tcl
> @@ -248,7 +248,11 @@ proc tspinbox {w args} {
>  proc ttext {w args} {
>  	global use_ttk
>  	if {$use_ttk} {
> -		switch -- [ttk::style theme use] {
> +		# Handle either current Tk or older versions of 8.5
> +		if {[catch {set theme [ttk::style theme use]}]} {
> +			set theme  $::ttk::currentTheme
> +		}
> +		switch -- $theme {
>  			"vista" - "xpnative" {
>  				lappend args -highlightthickness 0 -borderwidth 0
>  			}

← back to recent threads