summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorpatthoyts <patthoyts@users.sourceforge.net>2008-11-15 00:37:30 (GMT)
committerpatthoyts <patthoyts@users.sourceforge.net>2008-11-15 00:37:30 (GMT)
commitaf6b3cd3e4c83b73e3c84cfd656bffd05523d141 (patch)
tree94a457439db11c45ad6ecdfc37d41d37f6d56919 /win
parentd28676b1bedf7d3ce6cd75eae391856fcc1a70d0 (diff)
downloadtk-af6b3cd3e4c83b73e3c84cfd656bffd05523d141.zip
tk-af6b3cd3e4c83b73e3c84cfd656bffd05523d141.tar.gz
tk-af6b3cd3e4c83b73e3c84cfd656bffd05523d141.tar.bz2
[Bug 2239034] Only frame widgets are acceptable for [wm manage]
Diffstat (limited to 'win')
-rw-r--r--win/tkWinWm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index 4f891ee..007b35c 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.124.2.1 2008/08/01 20:24:50 patthoyts Exp $
+ * RCS: @(#) $Id: tkWinWm.c,v 1.124.2.2 2008/11/15 00:37:30 patthoyts Exp $
*/
#include "tkWinInt.h"
@@ -4602,6 +4602,12 @@ WmManageCmd(tkwin, winPtr, interp, objc, objv)
register WmInfo *wmPtr = winPtr->wmInfoPtr;
if (!Tk_IsTopLevel(frameWin)) {
+ if (!Tk_IsManageable(frameWin)) {
+ Tcl_AppendResult(interp, "window \"",
+ Tk_PathName(frameWin), "\" is not manageable: must be "
+ "a frame, labelframe or toplevel", NULL);
+ return TCL_ERROR;
+ }
TkFocusSplit(winPtr);
Tk_UnmapWindow(frameWin);
winPtr->flags |= TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED;