Hi Folks,
I have recently taken over the development of an embedded system, and I’m
having a couple of behaviour problems which I can’t replicate on my desktop.
The environment is QNX 4.25 and Photon 1.13/1.14 (seems to make no
difference). The Photon process is built using PHAB, and this communicates
with non-Photon processes via a message handler attached to PtMainLoop. It
terminates in ‘return PtCONTINUE’. The test harness I have tried (and
failed) to reproduce the behaviour in, is a single PHAB-generated
application with no additional message handler, so there may be a clue
there. The target uses the STPC Client CPU, and the graphics mode is VGA4.
The target does not run Photon in its entirety, but uses the embedded load
procedure to run pwm, stopping short of the desktop manager.
These are the problems:-
-
On realizing a window, the realized callback function is called, but the
got_focus callback isn’t, even though the Ph_WM_FOCUS flag is set in
Pt_ARG_WINDOW_MANAGED_FLAGS and in Pt_ARG_WINDOW_NOTIFIED_FLAGS. -
A window contains widgets, some of which are partially covered by a
PtText widget, and some of which are fully covered by it. A message from a
non-Photon process handled by the message handler attached to PtMainLoop
causes the message handler to PtUnrealize the PtText widget. Those widgets
which were partially covered are repaired, but those widgets which were
totally covered are not. The do not appear until their resources are set,
and then it takes several calls for them to fully appear. I’ve tried calling
PtWindowToFront() and PtFlush() in the function unrealizing the PtText
widget, but it makes no difference.
As stated above, this does not happen in the simple test harness.
Thanks in advance.
Best Regards,
Nick Tipping.