Subject: Fixed bug [e9112ef96e] - [wm forget] doesn't completely

From: fvogel <[email-masked]>
Date: Wed, 24 Feb 2016 20:10:25 +0000

---
 macosx/tkMacOSXWm.c | 5 +++++
 unix/tkUnixWm.c     | 5 +++++
 win/tkWinWm.c       | 6 ++++++
 3 files changed, 16 insertions(+)

diff --git a/macosx/tkMacOSXWm.c b/macosx/tkMacOSXWm.c
index 3ea2f51..39990e6 100644
--- a/macosx/tkMacOSXWm.c
+++ b/macosx/tkMacOSXWm.c
@@ -1788,6 +1788,11 @@ WmForgetCmd(
 	TkWmDeadWindow(winPtr);
 	RemapWindows(winPtr, (MacDrawable *) winPtr->parentPtr->window);
 
+        /*
+         * Make sure wm no longer manages this window
+         */
+        Tk_ManageGeometry(frameWin, NULL, NULL);
+
 	winPtr->flags &= ~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
 
 	/*
diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c
index 612270c..19ac86c 100644
--- a/unix/tkUnixWm.c
+++ b/unix/tkUnixWm.c
@@ -1826,6 +1826,11 @@ WmForgetCmd(
 		~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
 	RemapWindows(winPtr, winPtr->parentPtr);
 
+        /*
+         * Make sure wm no longer manages this window
+         */
+        Tk_ManageGeometry(frameWin, NULL, NULL);
+
 	/*
 	 * Flags (above) must be cleared before calling TkMapTopFrame (below).
 	 */
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index 768ee69..4e7618d 100644
--- a/win/tkWinWm.c
+++ b/win/tkWinWm.c
@@ -3673,6 +3673,12 @@ WmForgetCmd(
 	winPtr->flags &= ~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
 	Tk_MakeWindowExist((Tk_Window)winPtr->parentPtr);
 	RemapWindows(winPtr, Tk_GetHWND(winPtr->parentPtr->window));
+
+        /*
+         * Make sure wm no longer manages this window
+         */
+        Tk_ManageGeometry(frameWin, NULL, NULL);
+
 	TkWmDeadWindow(winPtr);
 	/* flags (above) must be cleared before calling */
 	/* TkMapTopFrame (below) */
-- 
cgit v0.12