summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorericm <ericm>2000-04-17 17:40:27 (GMT)
committerericm <ericm>2000-04-17 17:40:27 (GMT)
commit05e60900653c4f5ca49f098f9eda63c573e8264e (patch)
tree23c79d477ad8a225fe79f932a0027704f2c14bc3 /generic
parentb584610b72b25d8a9235118fb0e15fc6f17e630a (diff)
downloadtk-05e60900653c4f5ca49f098f9eda63c573e8264e.zip
tk-05e60900653c4f5ca49f098f9eda63c573e8264e.tar.gz
tk-05e60900653c4f5ca49f098f9eda63c573e8264e.tar.bz2
* generic/tkGrid.c: Fixed bogus logic in [grid propagate] that
caused [grid propagate . 0] to act as a toggle instead of an absolute set. [Bug: 2286].
Diffstat (limited to 'generic')
-rw-r--r--generic/tkGrid.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/generic/tkGrid.c b/generic/tkGrid.c
index 6f84fc9..ca74265 100644
--- a/generic/tkGrid.c
+++ b/generic/tkGrid.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkGrid.c,v 1.8 2000/04/08 06:59:19 hobbs Exp $
+ * RCS: @(#) $Id: tkGrid.c,v 1.9 2000/04/17 17:40:27 ericm Exp $
*/
#include "tkInt.h"
@@ -575,8 +575,15 @@ Tk_GridCmd(clientData, interp, argc, argv)
if (Tcl_GetBoolean(interp, argv[3], &propagate) != TCL_OK) {
return TCL_ERROR;
}
+
+ /* Only request a relayout if the propagation bit changes */
+
if ((!propagate) ^ (masterPtr->flags&DONT_PROPAGATE)) {
- masterPtr->flags ^= DONT_PROPAGATE;
+ if (propagate) {
+ masterPtr->flags &= ~DONT_PROPAGATE;
+ } else {
+ masterPtr->flags |= DONT_PROPAGATE;
+ }
/*
* Re-arrange the master to allow new geometry information to