diff options
author | fvogel <fvogelnew1@free.fr> | 2016-11-05 11:56:03 (GMT) |
---|---|---|
committer | fvogel <fvogelnew1@free.fr> | 2016-11-05 11:56:03 (GMT) |
commit | 10f296c84ec09c6412efdd578bcdf08d794b37bb (patch) | |
tree | 060a593bdd96775aa6256efccab0c7dcffbcd8d7 | |
parent | 584aeb456ebbbcaebbafbaa77e629cb053b16ae8 (diff) | |
parent | ea566f2ac0714ef7f7a6e3207a62b30cb3099ca4 (diff) | |
download | tk-10f296c84ec09c6412efdd578bcdf08d794b37bb.zip tk-10f296c84ec09c6412efdd578bcdf08d794b37bb.tar.gz tk-10f296c84ec09c6412efdd578bcdf08d794b37bb.tar.bz2 |
Fixed [6aea69fccb] - grid configure -in problem. Patch by Koen Danckaert.
-rw-r--r-- | generic/tkGrid.c | 3 | ||||
-rw-r--r-- | tests/grid.test | 19 |
2 files changed, 22 insertions, 0 deletions
diff --git a/generic/tkGrid.c b/generic/tkGrid.c index 2a88b76..62c9c59 100644 --- a/generic/tkGrid.c +++ b/generic/tkGrid.c @@ -3314,6 +3314,9 @@ ConfigureSlaves( } if (slavePtr->masterPtr != NULL && slavePtr->masterPtr != masterPtr) { + if (slavePtr->masterPtr->tkwin != Tk_Parent(slavePtr->tkwin)) { + Tk_UnmaintainGeometry(slavePtr->tkwin, slavePtr->masterPtr->tkwin); + } Unlink(slavePtr); slavePtr->masterPtr = NULL; } diff --git a/tests/grid.test b/tests/grid.test index c1d9d06..cba69db 100644 --- a/tests/grid.test +++ b/tests/grid.test @@ -1998,6 +1998,25 @@ test grid-22.5 {remove} { grid info .c } {-in . -column 0 -row 0 -columnspan 2 -rowspan 2 -ipadx 0 -ipady 0 -padx {3 5} -pady {4 7} -sticky ns} grid_reset 22.5 + +test grid-23 {grid configure -in leaked from previous master - bug + 6aea69fccbb266b7f0437686379fbe5b55442958} { + frame .f + frame .g + pack .f .g + text .t + grid .t -in .f + pack forget .f + update + grid .t -in .g + # .t is now managed by .g; following lines must have no effect on .t + pack .f + update + pack forget .f + update + winfo ismapped .t ; # must return 1 +} {1} +grid_reset 23 # cleanup cleanupTests |