summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--library/ttk/sizegrip.tcl9
2 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 3b0cca9..8979b59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-22 Joe English <jenglish@users.sourceforge.net>
+
+ * library/ttk/sizegrip.tcl: Patch to avoid bizarro behavior
+ under compiz [Bug 2912356].
+
2009-12-22 Donal K. Fellows <dkf@users.sf.net>
* library/tkfbox.tcl (ListInvoke): [Bug 2919205]: Correct ordering of
diff --git a/library/ttk/sizegrip.tcl b/library/ttk/sizegrip.tcl
index f1b87b1..f167b00 100644
--- a/library/ttk/sizegrip.tcl
+++ b/library/ttk/sizegrip.tcl
@@ -1,5 +1,5 @@
#
-# $Id: sizegrip.tcl,v 1.1 2006/10/31 01:42:27 hobbs Exp $
+# $Id: sizegrip.tcl,v 1.1.4.1 2009/12/23 04:30:51 jenglish Exp $
#
# Ttk widget set -- sizegrip widget bindings.
#
@@ -37,7 +37,7 @@ proc ttk::sizegrip::Press {W X Y} {
# If a negative X or Y position was specified for [wm geometry],
# just bail out -- there's no way to handle this cleanly.
#
- if {[scan [wm geometry $top] "%dx%d+%d+%d" width height _x _y] != 4} {
+ if {[scan [wm geometry $top] "%dx%d+%d+%d" width height x y] != 4} {
return;
}
@@ -56,6 +56,8 @@ proc ttk::sizegrip::Press {W X Y} {
set State(pressY) $Y
set State(width) $width
set State(height) $height
+ set State(x) $x
+ set State(y) $y
set State(pressed) 1
}
@@ -66,7 +68,8 @@ proc ttk::sizegrip::Drag {W X Y} {
set h [expr {$State(height) + ($Y - $State(pressY))/$State(heightInc)}]
if {$w <= 0} { set w 1 }
if {$h <= 0} { set h 1 }
- wm geometry $State(toplevel) ${w}x${h}
+ set x $State(x) ; set y $State(y)
+ wm geometry $State(toplevel) ${w}x${h}+${x}+${y}
}
proc ttk::sizegrip::Release {W X Y} {