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 9106b91..415c3ac 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-20 Donal K. Fellows <dkf@users.sf.net>
* unix/tkUnixSend.c (ServerSecure): [Patch 2917663]: Better support
diff --git a/library/ttk/sizegrip.tcl b/library/ttk/sizegrip.tcl
index a191b1f..ec0828a 100644
--- a/library/ttk/sizegrip.tcl
+++ b/library/ttk/sizegrip.tcl
@@ -1,5 +1,5 @@
#
-# $Id: sizegrip.tcl,v 1.3 2008/10/28 20:02:03 jenglish Exp $
+# $Id: sizegrip.tcl,v 1.4 2009/12/23 04:26:59 jenglish Exp $
#
# Sizegrip widget bindings.
#
@@ -55,7 +55,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;
}
@@ -74,6 +74,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
}
@@ -90,7 +92,8 @@ proc ttk::sizegrip::Drag {W X Y} {
}
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} {