
|
[haiku-appserver]
||
[Date Prev]
[05-2005 Date Index]
[Date Next]
||
[Thread Prev]
[05-2005 Thread Index]
[Thread Next]
[haiku-appserver] Re: GetMouse()
- From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
- To: haiku-appserver@xxxxxxxxxxxxx
- Date: Mon, 30 May 2005 11:36:56 +0200 CEST
Adi Oanca <adioanca@xxxxxxxxxxxxxx> wrote:
> Axel D=F6rfler wrote:
> > 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=3F
> 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=3F
Only in "extreme" situations like GetMouse(), yes.
> If that's the case I must remind you that UpdateIfNeeded() was
> introduced to: "Forcing an Update while Responding to an Event".
Which is exactly what GetMouse() does. When the looper is locked it
cannot process any update messages - it is in waiting state, which is
very similar to "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=3F
> The
> =5FUPDATE=5F message may not yet have arrived in BWindow's port queue.
Yes, but that's perfectly okay since you didn't use it properly :-)
A Flush() would be what you have to use here.
> (remember what I told you a couple weeks ago=3F)
I've no idea what you're referring to, sorry.
Bye,
Axel.
|

|