[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Background not erased (race condition?)
From:       Dirk Thierbach <thierbach () mathematik ! tu-darmstadt ! de>
Date:       2000-02-29 17:49:12
[Download RAW message or body]

I have found that in some applications, for example in sol.exe, the
background is not properly drawn in managed mode after a de-iconification.

I have tried to trace down the problem, and found that after the
de-iconification a WM_ERASEBKGND is send as it should be, but _after_
the WM_PAINT message and with a wrong rectangle. More tracing shows
that in painting.c, QUEUE_IncPaintCount is called, which in turn
triggers a WIN_FindWinToRepaint in message.c. The latter is probably
called to early (or should not be called at all) and should be
responsible for the WM_PAINT that is sent before the WM_ERASEBKGND
in a race condition.

I am not familiar enough with the code to fix it myself;
could please someone who understands the redraw mechanism better than
I do try to find a bugfix. Wine version is 2000.02.27, you can find
a log of 'wine -managed -synchronous -debugmsg +message,+win,+msg sol.exe'
(slightly edited and with a few more TRACEs inserted by me) at
http://fb04197.mathematik.tu-darmstadt.de/stars/wine.3.log. The second
expose is the one after the de-iconify.

Thanks,

- Dirk

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic