summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--mac/tkMacWm.c5
-rw-r--r--tests/wm.test15
-rw-r--r--unix/tkUnixWm.c5
-rw-r--r--win/tkWinWm.c5
5 files changed, 27 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index f78e5e6..37ccd2b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-05-23 Mo DeJong <mdejong@users.sourceforge.net>
+
+ * mac/tkMacWm.c (TkWmStackorderToplevelWrapperMap):
+ * tests/wm.test: Add embedded Window test case for
+ the stackorder command.
+ * unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap):
+ * win/tkWinWm.c (TkWmStackorderToplevelWrapperMap):
+ Ignore embedded windows during wm stackorder command.
+
2002-05-21 Mo DeJong <mdejong@users.sourceforge.net>
* unix/configure: Regen.
diff --git a/mac/tkMacWm.c b/mac/tkMacWm.c
index 8e1e677..1d2a8c5 100644
--- a/mac/tkMacWm.c
+++ b/mac/tkMacWm.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMacWm.c,v 1.15 2002/04/10 19:39:01 mdejong Exp $
+ * RCS: @(#) $Id: tkMacWm.c,v 1.16 2002/05/23 19:55:18 mdejong Exp $
*/
#include <Gestalt.h>
@@ -3047,7 +3047,8 @@ TkWmStackorderToplevelWrapperMap(winPtr, table)
WindowPeek wrapper;
int newEntry;
- if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr)) {
+ if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr) &&
+ !Tk_IsEmbedded(winPtr)) {
wrapper = (WindowPeek) TkMacGetDrawablePort(winPtr->window);
hPtr = Tcl_CreateHashEntry(table,
diff --git a/tests/wm.test b/tests/wm.test
index 3b611ef..7dc6970 100644
--- a/tests/wm.test
+++ b/tests/wm.test
@@ -7,7 +7,7 @@
# Copyright (c) 1998-1999 by Scriptics Corporation.
# All rights reserved.
#
-# RCS: @(#) $Id: wm.test,v 1.3 2002/04/10 19:39:01 mdejong Exp $
+# RCS: @(#) $Id: wm.test,v 1.4 2002/05/23 19:55:18 mdejong Exp $
# This file tests window manager interactions that work across
# platforms. Window manager tests that only work on a specific
@@ -293,15 +293,18 @@ test wm-stackorder-5.3 {An overrideredirect window
wm stackorder .t isbelow .
} 1
-
-deleteWindows
+test wm-stackorder-6.1 {An embedded toplevel does not
+ appear in the stacking order} {
+ deleteWindows
+ toplevel .real
+ toplevel .embd -bg blue -use [winfo id .real]
+ update
+ wm stackorder .
+} {. .real}
# FIXME:
-# Need test cases for embedded Windows, they should not appear in
-# the stacking order since they are not actually toplevel Windows.
-
# Test delivery of virtual events to the WM. We could check to see
# if the window was raised after a button click for example.
# This sort of testing may not be possible.
diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c
index 2ad7401..5fbd83b 100644
--- a/unix/tkUnixWm.c
+++ b/unix/tkUnixWm.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: tkUnixWm.c,v 1.15 2002/04/12 10:01:13 hobbs Exp $
+ * RCS: @(#) $Id: tkUnixWm.c,v 1.16 2002/05/23 19:55:18 mdejong Exp $
*/
#include "tkPort.h"
@@ -4253,7 +4253,8 @@ TkWmStackorderToplevelWrapperMap(winPtr, table)
Window wrapper;
int newEntry;
- if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr)) {
+ if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr) &&
+ !Tk_IsEmbedded(winPtr)) {
wrapper = (winPtr->wmInfoPtr->reparent != None)
? winPtr->wmInfoPtr->reparent
: winPtr->wmInfoPtr->wrapperPtr->window;
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index fe149eb..588ac71 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.35 2002/04/10 19:39:01 mdejong Exp $
+ * RCS: @(#) $Id: tkWinWm.c,v 1.36 2002/05/23 19:55:19 mdejong Exp $
*/
#include "tkWinInt.h"
@@ -4335,7 +4335,8 @@ TkWmStackorderToplevelWrapperMap(winPtr, table)
HWND wrapper;
int newEntry;
- if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr)) {
+ if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr) &&
+ !Tk_IsEmbedded(winPtr)) {
wrapper = TkWinGetWrapperWindow((Tk_Window) winPtr);
/*fprintf(stderr, "Mapped HWND %d to %x (%s)\n", wrapper,