Hi, Stefano Ceccherini wrote: >> That may be because a ::Flush() is not yet present in >BWindow's >>task_looper() after a message is dispatched. > > Ahhh, yes, that's what I was looking for. > So, is there any reason why we aren't doing this ? I didn't need it... :-P Sorry. >> One thing I don't understand from the current >implementation is why >>*location is not updated with the coordinates found in up or >moved messages? > > Because we care about the current position, not the previous position of the > mouse. Ah... I see. ( I don't think I like this ::GetMouse() method. it just doesn't play nice :-) ) >>Why is it that we just eat up those messages and take nothing >from them? >>Also, >>we should return if we find one of the two messages, not >continue and ask >>app_server for mouse location. > > This is how it was before, but it wasn't correct, because then, those messages > would still show up in the message queue later, when the function returns. Well, that would be the normal way of doing things. I'm thinking of apps that wait a B_MOUSE_UP to call ::MouseUp() to finish some processing, and GetMouse() simply dropping these message does not contribute to the overall application heath. Yes, I definitely don't like this method! It's dangerous! >> Another thing that is wrong is that when sending >> >AS_LAYER_GET_MOUSE_COORDS >>message to app_server we attach a "reply port". Why? > > I have absolutely no idea. I didn't write that code, it was already there. While you're at it, please remove that line and update the server code accordingly. bye, Adi.