From 4f4e282b4f51861b64a0a16d75542c74faa7b846 Mon Sep 17 00:00:00 2001 From: fvogel Date: Sat, 30 May 2015 09:30:07 +0000 Subject: Propagated UnmapNotify events of a panedwindow to its children --- generic/tkPanedWindow.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/generic/tkPanedWindow.c b/generic/tkPanedWindow.c index 3ae473a..d61fae3 100644 --- a/generic/tkPanedWindow.c +++ b/generic/tkPanedWindow.c @@ -1324,6 +1324,7 @@ PanedWindowEventProc( XEvent *eventPtr) /* Information about event. */ { PanedWindow *pwPtr = (PanedWindow *) clientData; + int i; if (eventPtr->type == Expose) { if (pwPtr->tkwin != NULL && !(pwPtr->flags & REDRAW_PENDING)) { @@ -1338,6 +1339,10 @@ PanedWindowEventProc( } } else if (eventPtr->type == DestroyNotify) { DestroyPanedWindow(pwPtr); + } else if (eventPtr->type == UnmapNotify) { + for (i = 0; i < pwPtr->numSlaves; i++) { + Tk_UnmapWindow(pwPtr->slaves[i]->tkwin); + } } } -- cgit v0.12 From ff3a1605b62a81c8e926998dfcbd85451831b8d7 Mon Sep 17 00:00:00 2001 From: fvogel Date: Sat, 30 May 2015 13:33:21 +0000 Subject: Added test for bug [1292219fff] regarding UnmapNotify event --- tests/panedwindow.test | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/panedwindow.test b/tests/panedwindow.test index c7d84b8..582aad4 100644 --- a/tests/panedwindow.test +++ b/tests/panedwindow.test @@ -2460,6 +2460,17 @@ test panedwindow-26.1 {DestroyPanedWindow} { } set result {} } {} +test panedwindow-26.2 {DestroyPanedWindow, UnmapNotify event is propagated to slaves} { + panedwindow .pw + .pw add [button .pw.b] + pack .pw + update + set result [winfo ismapped .pw.b] + pack forget .pw + update + lappend result [winfo ismapped .pw.b] + lappend result [winfo ismapped .pw] +} {1 0 0} test panedwindow-27.1 {PanedWindowIdentifyCoords} { panedwindow .p -bd 0 -sashwidth 2 -sashpad 2 -- cgit v0.12 From 786753b1391714947b613763539305c03affa7d6 Mon Sep 17 00:00:00 2001 From: fvogel Date: Sat, 30 May 2015 13:48:13 +0000 Subject: Propagated MapNotify events of a panedwindow to its children --- generic/tkPanedWindow.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/generic/tkPanedWindow.c b/generic/tkPanedWindow.c index d61fae3..b2fd92b 100644 --- a/generic/tkPanedWindow.c +++ b/generic/tkPanedWindow.c @@ -1343,6 +1343,10 @@ PanedWindowEventProc( for (i = 0; i < pwPtr->numSlaves; i++) { Tk_UnmapWindow(pwPtr->slaves[i]->tkwin); } + } else if (eventPtr->type == MapNotify) { + for (i = 0; i < pwPtr->numSlaves; i++) { + Tk_MapWindow(pwPtr->slaves[i]->tkwin); + } } } -- cgit v0.12 From 06cad2c9acc51cefa77a0935d52fde5b3d79691e Mon Sep 17 00:00:00 2001 From: fvogel Date: Sat, 30 May 2015 14:02:36 +0000 Subject: Completed test for bug [1292219fff], regarding MapNotify event this time --- tests/panedwindow.test | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/panedwindow.test b/tests/panedwindow.test index 582aad4..724b40d 100644 --- a/tests/panedwindow.test +++ b/tests/panedwindow.test @@ -2460,7 +2460,7 @@ test panedwindow-26.1 {DestroyPanedWindow} { } set result {} } {} -test panedwindow-26.2 {DestroyPanedWindow, UnmapNotify event is propagated to slaves} { +test panedwindow-26.2 {UnmapNotify and MapNotify events are propagated to slaves} { panedwindow .pw .pw add [button .pw.b] pack .pw @@ -2470,7 +2470,13 @@ test panedwindow-26.2 {DestroyPanedWindow, UnmapNotify event is propagated to sl update lappend result [winfo ismapped .pw.b] lappend result [winfo ismapped .pw] -} {1 0 0} + pack .pw + update + lappend result [winfo ismapped .pw] + lappend result [winfo ismapped .pw.b] + destroy .pw .pw.b + set result +} {1 0 0 1 1} test panedwindow-27.1 {PanedWindowIdentifyCoords} { panedwindow .p -bd 0 -sashwidth 2 -sashpad 2 -- cgit v0.12