--- rpl/modules/motif/XtCreateWidget.rplc 2017/07/10 14:47:59 1.5 +++ rpl/modules/motif/XtCreateWidget.rplc 2017/08/22 11:22:04 1.8 @@ -145,7 +145,6 @@ declareExternalFunction(XtCreateWidget) postIncr(argNum); endWhile -uprintf("%d\n", argNum); args = allocate(size(Arg) * argNum); argNum = 0; getDaisyChainFromList(parametersObject, current); @@ -168,14 +167,8 @@ uprintf("%d\n", argNum); (strcmp(command, "XmNbottomWidget") eq 0) or (strcmp(command, "XmNleftWidget") eq 0) or (strcmp(command, "XmNrightWidget") eq 0)) then -/* XtSetArg(args[argNum], argument, - (XtArgVal) (*((sXtAppContext *) - objectContainer(fetchElementFromDaisyChain( - current2)))).widget); -*/ - XtSetArg(args[argNum], argument, - (XtArgVal) target((Widget *) objectContainer( + (XtArgVal) target(objectContainer(Widget, fetchElementFromDaisyChain(current2)))); orElse executionError("Wait for XmN*Widget"); @@ -203,7 +196,7 @@ uprintf("%d\n", argNum); (strcmp(command, "XmNleftWidget") eq 0) or (strcmp(command, "XmNrightWidget") eq 0)) then XtSetArg(args[argNum], argument, - (XtArgVal) target((Widget *) objectContainer( + (XtArgVal) target(objectContainer(Widget, directive))); orElse executionError("Wait for XmN*Widget"); @@ -228,12 +221,11 @@ uprintf("%d\n", argNum); endWhile createExternalObject(widget, WIDGET); - objectContainer(widget) = allocate(size(Widget)); + objectOf(widget) = allocate(size(Widget)); - target((Widget *) objectContainer(widget)) = - XtCreateWidget(name, wc, target((Widget *) - objectContainer(parentObject)), args, argNum); - XtManageChild(target((Widget *) objectContainer(widget))); + target(objectContainer(Widget, widget)) = + XtCreateWidget(name, wc, target( + objectContainer(Widget, parentObject)), args, argNum); pushOnStack(widget); deallocate(args);