I've injected into a proprietary Qt (4.5.2) application, added my own compatible build of QtScript, and have managed to get access to all the signals I need. However, when connecting to them (via QtScript) my functions are never called.
I've come up with a few theories for why this is and I've tested everything I can think of, but I've hit a bit of a wall. Note, I've never had any connection exceptions whatsoever. Here are my current theories:
Are any of these theories plausible? If not, what have I missed?
After a whole lot of digging around internals and asking a lot of questions (here and in #qt on Freenode, namely), I managed to get it to work. The problem was that my injected code ran in a native thread without an event pump. Instantiating QEventLoop and calling processEvents() at regular intervals solved this.