Home
Developer Resources
QNX RTOS v4
QNX RTOS v4 Knowledge Base

QNX RTOS v4 Knowledge Base

Foundry27
Foundry27
QNX RTOS v4 project
Resources

QNX RTOS v4 Knowledge Base

Title Jump gates are affecting the realization/unrealization of widgets
Ref. No. QNX.000009916
Category(ies) Development
Issue When we transfer our running application via a jump gate (even to the same node it is already running on), the 'label A' dissapears and the hidden menu with 'MenuLabel' appears.

Why is that?



Solution The reason for this is use of the Pt_DELAY_REALIZE flag.

Realizing a widget doesn't automatically clear that flag. When a jump gate transports an application, all its windows get unrealized and then realized, and the Pt_DELAY_REALIZE flag affects the realization in the normal way. If you want your application to transport correctly, make sure that all the widgets that are realized have the Pt_DELAY_REALIZE flag clear and the ones that are not have the flag set.
You also have to be careful about any realized/unrealized/window opening/window closing callbacks. For example, if you use a window opening callback to set the initial position or size of your main window, use a global flag to avoid doing it more than once.
If you are using the window closing callback to save the window's size, check the Pt_DESTROYED flag (in Pt_ARG_FLAGS) to make sure that the window is being destroyed rather than transported (the Pt_DESTROYED flag will only be set if PtDestroyWidget() is called on a realized window -- but that's how PtWindow handles the Close button, and that's how PhAB library handles Done and Cancel callbacks).