I have an application which pulls image data from memory (provided by a shared library) and displays the image to the user. My appliation has two threads, the GUI thread and the worker thread which gets the image data.

Right now when the worker thread gets all the data for an image I use emit to send the data (as a QByteArray) to the GUI thread. This does work, but I'm wondering if it's a good thing to do?

Every now and then I get weird errors that seem to indicate that the worker thread is actually handling the display too (I had hoped emitting the data from the worker thread would cause it to be processed in the GUI thread).

Basically, I'm wondering if this is the wrong approach to take. I've read that this works in QT4 (unfortunately I don't have the option of using QT4). Does anyone know if it works in QT3 as well?

Thanks in advance.