QNX RTOS v4 Knowledge Base
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).
|
|