[haiku-appserver] Re: GetMouse()

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Thu, 19 May 2005 19:05:16 +0200 CEST

"Stephan Assmus" <superstippi@xxxxxx> wrote:
> > > Oh, one more thing...
> > >   owner->fLink->Attach<port=3D5Fid>(owner->fLink->
> > > GetReplyPort());
> > > needs to go. It's useless.
> > The one in GetMouse()=3D3F Sorry, you're wrong - when I remove it, 
> > nothing is working anymore, the whole app stands still after that. 
> > So 
> > much for defensive and robust programming :-/
> Yes, the "messaging" is very prone to errors. The problem is most 
> likely in the server side part that you have not updated, it might 
> try 
> to read the reply port from the "message", and that's where it 
> stalls. 
> I have come across a couple of these problems.

Good idea, I'll have a look.

> > Yes, indeed, the coordinate change helped a lot :-)
> > It still looks very bad compared to R5 as well as the asynchronous 
> > version, but at least it's somewhat working now!
> One thing I'm wondering about: How about doing the stuff we now do in 
> BView::GetMouse() in BWindow::UpdateIfNeeded()=3F We will need this 
> for 
> synchronous BAlerts::Go() too BTW. BView::GetMouse() could then use 
> UpdateIfNeeded(). I haven't looked very close at that code, so I 
> might 
> be way off here.

I just had a look, and indeed, these are very similar - or should be, 
in fact, UpdateIfNeeded() doesn't work as it's done now; it would need 
to be something more like GetMouse() or even should call DoUpdate() 
directly.
But as I think about it: it's a bad idea that there is always only one 
_UPDATE_ message in the queue, as it slows down the whole thing quite a 
lot; the latency between to (necessary) _UPDATE_ messages is increased 
a lot this way and for no reason.

BTW I have tried several apps now under Haiku, and some of them even 
run (R5 & Haiku DataTranslation preferences apps, for example, even 
though both look kinda strange).
Many of them will let the app_server crash.

How would I try FFM with our app_server? The Mouse preferences app 
doesn't work yet (it's one of those that let the app_server crash here) 
:-)

Also, why is moving windows so damn slow? I thought it would use 
hardware acceleration by now?

Bye,
   Axel.


Other related posts: