chapman@lll-lcc.UUCP (Carol Chapman) (04/14/89)
I am using X11R3 with the Athena widgets. I have a large viewport
widget within which I would like to display 3 color digitized images.
I have created 3 Core widgets to hold each of these images. The
images will change depending on what the user wants to look at, so I
need to be able to "wipe out" the image in a Core widget and then redo
it with the new image. The following is the routine I am attempting
to use for this purpose, but I get a unix segmentation violation when
I get to the line involving XtIsManaged. I tried replacing
XtIsManaged with XtIsRealized, but I get the same error. What is
wrong?
carol
---------------------------------------------------------------------------
static void make_dig_image_widget(image_widget, width, height, image_name)
Widget *image_widget;
unsigned int width, height;
char *image_name;
{
Arg args[10];
Cardinal num_args = 0;
Boolean already_exists = False;
already_exists = XtIsManaged(*image_widget);
if (already_exists) /* the widget has been used before */ {
XtUnmanageChild(*image_widget);
XtSetValues(args[num_args], XtNheight, height); num_args++;
XtSetValues(args[num_args], XtNwidth, width); num_args++;
XtManageChild(*image_widget);
} /* of if */
else /* this is the first time the widget is to be used */ {
XtSetArg(args[num_args], XtNheight, height); num_args++;
XtSetArg(args[num_args], XtNwidth, width); num_args++;
*image_widget = XtCreateManagedWidget(image_name, widgetClass,
image_viewport, args, num_args);
} /* of else */
}
--
-------------------------------------------------------------------------------
Livermore Lab (chapman@lll-crg.llnl.gov or chapman@lll-lcc.llnl.gov)
P.O. Box 808, L-153 Tel. (415) 423-7876
Livermore, CA 94550 "Never own anything that you have to FEED or PAINT."