diff options
author | mdejong <mdejong> | 2002-12-01 23:37:53 (GMT) |
---|---|---|
committer | mdejong <mdejong> | 2002-12-01 23:37:53 (GMT) |
commit | e99b39f8cfd8420e69f93dd46fd76814ed8c31b0 (patch) | |
tree | 17edb0418713442deef44e4687c1729ab0d62a32 /win | |
parent | 7a9ae2c231ff504bcb2bdcf5e4e9e887290981f3 (diff) | |
download | tk-e99b39f8cfd8420e69f93dd46fd76814ed8c31b0.zip tk-e99b39f8cfd8420e69f93dd46fd76814ed8c31b0.tar.gz tk-e99b39f8cfd8420e69f93dd46fd76814ed8c31b0.tar.bz2 |
* tests/wm.test: Add wm-transient-6.3 to
check that a transient remains withdrawn
when it is first withdrawn and then turned
into a transient.
* unix/tkUnixWm.c:
* win/tkWinWm.c: Replace WM_TRANSIENT_WITHDRAWN
with WM_WITHDRAWN and set this flag whenever
a window is explicitly withdrawn. This fixes
the test case added above. [Bug 644356]
Diffstat (limited to 'win')
-rw-r--r-- | win/tkWinWm.c | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/win/tkWinWm.c b/win/tkWinWm.c index 5248a54..8442881 100644 --- a/win/tkWinWm.c +++ b/win/tkWinWm.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinWm.c,v 1.52 2002/08/08 22:32:12 jenglish Exp $ + * RCS: @(#) $Id: tkWinWm.c,v 1.53 2002/12/01 23:37:54 mdejong Exp $ */ #include "tkWinInt.h" @@ -292,8 +292,8 @@ typedef struct TkWmInfo { * allow the user to change the height of the * window (controlled by "wm resizable" * command). - * WM_TRANSIENT_WITHDRAWN - non-zero means that this is a transient window - * that has explicitly been withdrawn. It should + * WM_WITHDRAWN - non-zero means that this window has explicitly + * been withdrawn. If it's a transient, it should * not mirror state changes in the master. */ @@ -309,7 +309,7 @@ typedef struct TkWmInfo { #define WM_ADDED_TOPLEVEL_COLORMAP (1<<9) #define WM_WIDTH_NOT_RESIZABLE (1<<10) #define WM_HEIGHT_NOT_RESIZABLE (1<<11) -#define WM_TRANSIENT_WITHDRAWN (1<<12) +#define WM_WITHDRAWN (1<<12) /* * Window styles for various types of toplevel windows. @@ -2982,9 +2982,7 @@ WmDeiconifyCmd(tkwin, winPtr, interp, objc, objv) return TCL_ERROR; } - if (wmPtr->flags & WM_TRANSIENT_WITHDRAWN) { - wmPtr->flags &= ~WM_TRANSIENT_WITHDRAWN; - } + wmPtr->flags &= ~WM_WITHDRAWN; /* * If WM_UPDATE_PENDING is true, a pending UpdateGeometryInfo may @@ -4415,9 +4413,7 @@ WmStateCmd(tkwin, winPtr, interp, objc, objv) } if (index == OPT_NORMAL) { - if (wmPtr->flags & WM_TRANSIENT_WITHDRAWN) { - wmPtr->flags &= ~WM_TRANSIENT_WITHDRAWN; - } + wmPtr->flags &= ~WM_WITHDRAWN; TkpWmSetState(winPtr, NormalState); /* * This varies from 'wm deiconify' because it does not @@ -4439,9 +4435,7 @@ WmStateCmd(tkwin, winPtr, interp, objc, objv) } TkpWmSetState(winPtr, IconicState); } else if (index == OPT_WITHDRAWN) { - if (wmPtr->masterPtr != NULL) { - wmPtr->flags |= WM_TRANSIENT_WITHDRAWN; - } + wmPtr->flags |= WM_WITHDRAWN; TkpWmSetState(winPtr, WithdrawnState); } else { /* OPT_ZOOMED */ TkpWmSetState(winPtr, ZoomState); @@ -4689,9 +4683,7 @@ WmWithdrawCmd(tkwin, winPtr, interp, objc, objv) (char *) NULL); return TCL_ERROR; } - if (wmPtr->masterPtr != NULL) { - wmPtr->flags |= WM_TRANSIENT_WITHDRAWN; - } + wmPtr->flags |= WM_WITHDRAWN; TkpWmSetState(winPtr, WithdrawnState); return TCL_OK; } @@ -4724,7 +4716,7 @@ WmWaitVisibilityOrMapProc(clientData, eventPtr) return; if (eventPtr->type == MapNotify) { - if (!(winPtr->wmInfoPtr->flags & WM_TRANSIENT_WITHDRAWN)) + if (!(winPtr->wmInfoPtr->flags & WM_WITHDRAWN)) TkpWmSetState(winPtr, NormalState); } else if (eventPtr->type == UnmapNotify) { TkpWmSetState(winPtr, WithdrawnState); |