Thank you. This is a very helpful explanation. I just ran the program you sent on my Linux box, remotely displaying on my Windows box, and sure enough, I see the "seen a hint!" messages. This also explains why my solution for drawing the line worked reasonably well on Windows but on Linux, the old lines did not get erased. So I guess I have to resort to conditional compilation directives to make it work in both environments. Are there white papers or other documents that explain the GDK implementation on Windows? That would sure make it easier to understand how to build code for both platforms. Stewart > -----Original Message----- > From: jcupitt@xxxxxxxxx [mailto:jcupitt@xxxxxxxxx] > Sent: Wednesday, November 28, 2007 3:40 AM > To: stewart.weiss@xxxxxxx > Cc: gtk-list@xxxxxxxxx > Subject: Re: GDK_POINTER_MOTION_HINT_MASK has no effect > > > On Nov 28, 2007 2:44 AM, Stewart Weiss <stewart.weiss@xxxxxxx> wrote: > > I am running this on a Windows box with gtk+ 2.12 installed. > > Ah, OK. I don't think the windows backend uses the is_hint field, so > you can just ignore it. > > It's because X11 is asynchronous. The window server keeps on trucking > (and sending a lot of highly detailed mouse tracking information) even > if your program pauses for a moment. As a result, you can get a > backlog of mouse events and this causes very annoying lag in your > application. > > The idea of is_hint is that when your program comes back to check for > mouse events it just sees an is_hint event, meaning "a lot of mouse > action has taken place, read the pointer explicitly to get the > latest". So you get asynchronous mouse evnts and no lag. > > Windows is synchronous (the server can never run ahead of the > application) so it doesn;t need this mechanism. Just ignnore is_hint > and it'll work fine. > > John _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list