--- rpl/modules/motif/XtAddCallback.rplc 2017/07/17 21:35:32 1.4 +++ rpl/modules/motif/XtAddCallback.rplc 2017/07/30 21:59:40 1.6 @@ -55,17 +55,18 @@ declareExternalFunction(XtAddCallback) sCallback = allocate(size(sXtCallback)); sCallback->status = procStatus(rpl_arguments); sCallback->callback = callbackProc; - sCallback->widget = target((Widget *) objectContainer(widget)); - objectContainer(callbackObject) = sCallback; + sCallback->widget = target(objectContainer(Widget, widget)); + objectOf(callbackObject) = sCallback; - XtAddCallback(target((Widget *) objectContainer(widget)), + XtAddCallback(target(objectContainer(Widget, widget)), callback, rplCallback, (XtPointer) sCallback); - tmp = allocate(size(struct_liste_chainee)); + tmp = allocate(size(daisyChain)); tmp->next = lCallbacks; tmp->data = callbackObject; lCallbacks = tmp; + dupObject(callbackObject); pushOnStack(callbackObject); orElse executionError("Application not initialized");