summaryrefslogtreecommitdiff
path: root/xc
diff options
context:
space:
mode:
authorconverse <empty>1995-06-29 19:19:29 +0000
committerconverse <empty>1995-06-29 19:19:29 +0000
commitcdb1398b41d910f2a9b5e6e148b0460606675efd (patch)
tree063b2a0a5ad8ca5f0ecbc89d3b0df5f5d85204ab /xc
parent6f74fdf20f46aa03f4871a67fe8ef87d1391f6d1 (diff)
XtUnmanageChildren issues an error message if the parent is not a
Composite. XtChangeManagedSet will continue after issuing a warning when not all children have the the same parent, on the theory that consistency is good and that some useful recovery is possible. #7486
Diffstat (limited to 'xc')
-rw-r--r--xc/lib/Xt/Manage.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/xc/lib/Xt/Manage.c b/xc/lib/Xt/Manage.c
index c9c033790..47fcfc3b1 100644
--- a/xc/lib/Xt/Manage.c
+++ b/xc/lib/Xt/Manage.c
@@ -1,4 +1,4 @@
-/* $XConsortium: Manage.c,v 1.33 94/04/17 20:14:28 converse Exp converse $ */
+/* $XConsortium: Manage.c,v 1.34 95/03/30 19:15:14 converse Exp $ */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
@@ -88,6 +88,11 @@ static void UnmanageChildren(children, num_children, parent, num_unique_children
->composite_class.change_managed;
UNLOCK_PROCESS;
parent_realized = XtIsRealized((Widget)parent);
+ } else {
+ XtAppErrorMsg(XtWidgetToApplicationContext((Widget)parent),
+ "invalidParent",caller_func, XtCXtToolkitError,
+ "Attempt to unmanage a child when parent is not Composite",
+ (String *) NULL, (Cardinal *) NULL);
}
for (i = 0; i < num_children; i++) {
@@ -419,8 +424,6 @@ void XtChangeManagedSet(unmanage_children, num_unmanage, do_change_proc,
XtAppWarningMsg(app, "ambiguousParent", XtNxtChangeManagedSet,
XtCXtToolkitError, "Not all children have same parent",
(String *)NULL, (Cardinal *)NULL);
- UNLOCK_APP(app);
- return;
}
if (! XtIsComposite(parent)) {
UNLOCK_APP(app);