QNX RTOS v4 Knowledge Base
QNX RTOS v4 Knowledge Base
Title |
Removing zombie callbacks |
Ref. No. |
QNX.000009901 |
Category(ies) |
Development |
Issue |
In our PhAB application, PhAB insists on generating a code file which contains a callback procedure that is used to exit in a old dialog which has been deleted (the entire dialog). We have looked in all the PH files and it looks like some callbacks have got stuck in the abapp.dfn file. We have tried re-creating and re-deleting a dialog with a button linked to the same callback. Dialog got deleted but the callback is still there. Is there any way to fix this? Can we get PhAB to recreate the abapp.dfn file?
|
Solution |
There used to be a bug in PhAB that caused this. PhAB would forget to rename the callbacks when you renamed a menu item, and you ended up with a callback attached to an instance name that does not correspond to an existing widget or menu item.
They are almost harmless -- but they cause PhAB to generate unnecessary code and can unexpectedly attach themselves to a new widget if you give it the matching name. And that is how you can get rid of them: you just need to guess the name they're attached to, create a widget, give it that name, and delete the widget. A zombie callback that points to an existing module is easy to find out by guessing, because it shows up in the name that a zombie code callback is attached to, and by looking at the abapp.dfn file.
|
|