git-gui: fallback right pane to packed widgets with Tk 8.4
authorMax Kirillov <max@max630.net>
Tue, 14 Jan 2014 23:58:09 +0000 (01:58 +0200)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Sat, 18 Jan 2014 16:51:15 +0000 (16:51 +0000)
Since 918dbf58, git-gui crashes if started with Tk 8.4. The reason is that
tk < 8.5 does not support -stretch option for panedwindow.

Without the option it's not possible to properly expand the right half -
the commit area is expanded, while desired behavior is to expand the diff
area. So the whole feature should be disabled with Tk
version less than 8.5.

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
git-gui.sh
index db46ac50bfb74c8a3252e303869557581309b505..cf2209b4f201b990cffab6d454599b9fa6932fc0 100755 (executable)
@@ -3224,18 +3224,28 @@ unset i
 
 # -- Diff and Commit Area
 #
-${NS}::panedwindow .vpane.lower -orient vertical
-${NS}::frame .vpane.lower.commarea
-${NS}::frame .vpane.lower.diff -relief sunken -borderwidth 1 -height 500
-.vpane.lower add .vpane.lower.diff
-.vpane.lower add .vpane.lower.commarea
-.vpane add .vpane.lower
-if {$use_ttk} {
-       .vpane.lower pane .vpane.lower.diff -weight 1
-       .vpane.lower pane .vpane.lower.commarea -weight 0
+if {$have_tk85} {
+       ${NS}::panedwindow .vpane.lower -orient vertical
+       ${NS}::frame .vpane.lower.commarea
+       ${NS}::frame .vpane.lower.diff -relief sunken -borderwidth 1 -height 500
+       .vpane.lower add .vpane.lower.diff
+       .vpane.lower add .vpane.lower.commarea
+       .vpane add .vpane.lower
+       if {$use_ttk} {
+               .vpane.lower pane .vpane.lower.diff -weight 1
+               .vpane.lower pane .vpane.lower.commarea -weight 0
+       } else {
+               .vpane.lower paneconfigure .vpane.lower.diff -stretch always
+               .vpane.lower paneconfigure .vpane.lower.commarea -stretch never
+       }
 } else {
-       .vpane.lower paneconfigure .vpane.lower.diff -stretch always
-       .vpane.lower paneconfigure .vpane.lower.commarea -stretch never
+       frame .vpane.lower -height 300 -width 400
+       frame .vpane.lower.commarea
+       frame .vpane.lower.diff -relief sunken -borderwidth 1
+       pack .vpane.lower.diff -fill both -expand 1
+       pack .vpane.lower.commarea -side bottom -fill x
+       .vpane add .vpane.lower
+       .vpane paneconfigure .vpane.lower -sticky nsew
 }
 
 # -- Commit Area Buttons