> Is this message processed synchronously? The function calls SetAttribute, and then sends the message *after* SetAttribute has returned. That message then goes into a message cue, then the function returns. *Then* the message cue is processed (we're only ever in one thread), and when the message is processed, the function is called again. The only thing I'm not sure about is SetAttribute() - that may well not be synchronous - though I can't find any reference that contains that information.
Forgetting for a moment my situation, how do people normal do this? Let's say you have an application which embeds XULRunner for a layout engine - Firefox, for example. Let's say that application has a UI element which moves around to positions based on data obtained from something highly intensive on the back end. You need your heavy data crunching stuff working away from the UI thread, written in C++, operating asynchronously. I understand that the UI is not thread safe, so you need to come back to your UI thread to do UI updates, which are based on the back end data. But do people tend to use JavaScript for the UI stuff, having it load an interface to get access to the cpu intensive data (or however that's done), or do they just have UI updates done directly from the C++ code, completely cutting out the JavaScript engine? Thanks. _______________________________________________ dev-embedding mailing list dev-embedding@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-embedding