[haiku-appserver] Re: GetMouse()

  • From: Adi Oanca <adioanca@xxxxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Mon, 30 May 2005 09:56:50 +0300

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.

Other related posts: