--- rpl/modules/motif/XtCreateWidget.rplc 2017/07/06 10:18:04 1.3 +++ rpl/modules/motif/XtCreateWidget.rplc 2017/07/10 07:25:24 1.4 @@ -42,6 +42,13 @@ declareExternalFunction(XtCreateWidget) returnOnError(freeObject(parametersObject); freeObject(parentObject)); + ifIsExternal(widget, WIDGET) then + orElse + executionError("Type mismatch error"); + returnOnError(freeObject(parametersObject); + freeObject(parentObject)); + endIf + pullFromStack(classObject, string); returnOnError(freeObject(parametersObject); freeObject(parentObject); @@ -213,8 +220,8 @@ declareExternalFunction(XtCreateWidget) createExternalObject(widget, WIDGET); target((Widget *) objectContainer(widget)) = - XtCreateWidget(name, wc, (*((sXtAppContext *) - objectContainer(parentObject))).widget, args, argNum); + XtCreateWidget(name, wc, target((sXtAppContext *) + objectContainer(parentObject)).widget, args, argNum); XtManageChild(target((Widget *) objectContainer(widget))); pushOnStack(widget);