diff options
author | ericm <ericm> | 2000-04-17 17:40:27 (GMT) |
---|---|---|
committer | ericm <ericm> | 2000-04-17 17:40:27 (GMT) |
commit | 05e60900653c4f5ca49f098f9eda63c573e8264e (patch) | |
tree | 23c79d477ad8a225fe79f932a0027704f2c14bc3 /generic/tkGrid.c | |
parent | b584610b72b25d8a9235118fb0e15fc6f17e630a (diff) | |
download | tk-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/tkGrid.c')
-rw-r--r-- | generic/tkGrid.c | 11 |
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 |