This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Rootless mode


Other than the WM_PAINT message, I don't think Windows ever sends the same
message again. On a WM_PAINT, if you do not mark validate the region by
calling BeginPaint and EndPaint and return from processing the WM_PAINT, you
WILL receive a WM_PAINT again.

On the other hand, if you call GetMessage without PM_REMOVE, the message
retrieved is not removed from the queue.

But if that were the case, the SAME message would keep being retrieved
because the Windows message queue is more or less a FIFO structure.
There might be some recursion at work here though, because if the child
windows notify the parent and in response the parent posts or sends the same
message again, things could get hairy.
Probably not though, because they flood of messages does stop, right?
I'm sure running Spy++ would yield interesting information.


-----Original Message-----
From: cygwin-xfree-owner@cygwin.com [mailto:cygwin-xfree-owner@cygwin.com]On
Behalf Of Harold L Hunt II
Sent: Thursday, December 12, 2002 5:55 PM
To: cygwin-xfree@cygwin.com
Subject: RE: Rootless mode

Looking at Kensuke's code, he uses an internal queue to store messages that
need to be processed by child windows.  For some reason this queue is not
being properly reset when the messages are processed.  Or, it could be as
simple as returning the wrong value after processing these messages, causing
Windows to send them again.

Harold

-----Original Message-----
From: cygwin-xfree-owner@cygwin.com
[mailto:cygwin-xfree-owner@cygwin.com]On Behalf Of Jean-Claude Gervais
Sent: Thursday, December 12, 2002 1:52 PM
To: cygwin-xfree@cygwin.com
Subject: RE: Rootless mode


This may be obvious, but the difference between the two is that Windows
sends you a bunch of messages when you're dragging the window when fulldrag
is in effect...
So it might be some message handler repositioning the window during one of
those notifications...
Maybe a WM_SIZE or WM_WINDOWPOSCHANGING... Anyhow, I think running spy and
just looking in on the stream of messages that a window doing fulldrag
receives could be a way to figure out which message.




-----Original Message-----
From: cygwin-xfree-owner@cygwin.com [mailto:cygwin-xfree-owner@cygwin.com]On
Behalf Of Harold L Hunt
Sent: Thursday, December 12, 2002 1:33 PM
To: cygwin-xfree@cygwin.com
Subject: Re: Rootless mode

Kensuke,

Hmm... that sounds about right.  Windows 2000 and Windows XP have that
option
on by default, I believe.

Are you going to try to debug this?

Harold

Matsuzaki Kensuke <zakki@peppermint.jp> said:

> Harold,
>
> I could not reproduce that bug, but now I found that this bug occur when
> "Show window contents while dragging" enabled.
>
> Maximizing a window never stop too.
>
> Matsuzaki Kensuke
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]