Axel Dörfler wrote: > Adi Oanca <adioanca@xxxxxxxxxxxxxx> wrote: > >>Axel D=F6rfler wrote: >> >>>However, this can still be problematic as you potentially block the >>>thread the same time you'd do from its own thread, we might still >>>need >>>to change it back (ie. change UpdateIfNeeded() to process these >>>messages from another thread). >> >> I'm afraid I don't understand what you mean... > > As long as the looper is locked, it cannot process any messages, and > therefore doesn't get updated, even if running in another thread - was > that clearer? Not quite. :-) Maybe we are talking different things... To recall: you don't agree with the fact that UpdateIfNeeded() must be called from BWindow's thread only? If that's the case I must remind you that UpdateIfNeeded() was introduced to: "Forcing an Update while Responding to an Event". BTW, if you to this: Invalidate(rect); Window()->UpdateIfNeeded(); with our current implementation, it's quite possible you won't get the result you're looking for (ie. the rect being redrawn). Why? The _UPDATE_ message may not yet have arrived in BWindow's port queue. (remember what I told you a couple weeks ago?) bye, Adi.