Dialog painting

Niclas Karlsson MATE nkarlsso at ra.abo.fi
Tue Sep 18 03:57:22 CDT 2001


On Mon, Sep 17, 2001 at 11:33:03PM +0000, Gerard Patel wrote:

> Your code does not display anything because no message
> is retrieved from the message queue. After the Sleep call,
> WM_PAINT messages are available, but as you don't 
> retrieve them by calling PeekMessage or something
> like that, nothing is shown.

Ok, I see. I actually did compare the messages sent in windows
to those sent in wine and then I noticed, among other things,
that no WM_PAINT messages were received in this case.

> I don't want to say that your app code is wrong, of course.

It may very well be, but it works with real windows and some apps
use constructs like this (and exhibit the same problems in wine).

> There is a problem in Wine, but I don't know what to do
> about it. My first thought would be to scan the X queue
> and retrieve the expose events as was done before the
> great changes of this summer, but this may be somewhat
> difficult to do right.

Well, the window needs to be painted during the first call to
CreateDialog() - how to fix it is another matter. My naive idea
would be to just set the invalid region manually and/or to send
a WM_PAINT. Fetching expose events may also be a good idea, but
I know very little about the interaction between Wine and X so I
can't really say whether that is a good or a bad idea.

> I prefer to waste my time searching for other problems,
> because I have no doubt that Alexandre Julliard is
> aware of this one and it's clear that he is not finished
> yet with X code reorganization.

Ok, thanks for clueing me in.

Nicke
-- 
-[ nkarlsso at abo.fi ]-  Seek simplicity, and distrust it. (A. Whitehead)




More information about the wine-devel mailing list