[Bug 10522] New: endless WM_PAINT loop bug (update regions, queue paint count)
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Nov 21 04:59:46 CST 2007
http://bugs.winehq.org/show_bug.cgi?id=10522
Summary: endless WM_PAINT loop bug (update regions, queue paint
count)
Product: Wine
Version: CVS/GIT
Platform: PC
URL: http://www.microsoft.com/whdc/devtools/debugging/install
x86.mspx
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: P2
Component: wine-user
AssignedTo: wine-bugs at winehq.org
ReportedBy: focht at gmx.net
Created an attachment (id=9265)
--> (http://bugs.winehq.org/attachment.cgi?id=9265)
trace with WINEDEBUG=+tid,+message,+win,+server
Hello,
I've seen this bug a while ago in other apps but ignored it because it was not
easily to reproduce.
Well until recently when I tested some stuff with windbg from "Debugging Tools
for Windows" (Microsoft).
I used debugging tools version 6.8.4.0 and recent GIT
(wine-0.9.49-302-g58b85bb).
Immediately when a child window was opened using toolbar (register, locals, ..
whatever), windbg would become unresponsive, eating most CPU.
Happens in both GUI modes - "floating/docking toolwindow" and "MDI emulation.
Though "MDI emulation" is more obvious, it actually shows the endless
refreshing (window caption).
Attached is WINEDEBUG=+tid,+message,+win,+server log.
Additionally I added a trace message which prints the current queue paint count
(when incremented or fetched) which makes some things easier to spot.
Printed as "inc_queue_paint_count: %d" and "get_message_paint_count: %d".
The window hierarchy is as follows:
--- snip ---
*root*=0x10020
Shell_TrayWnd=0x10022
WinDbgFrameClass=0x10024
DockClass=0x10026
ToolbarWindow32=0x10028
msctls_statusbar32=0x1002a
tooltips_class32=0x1002e
WinBaseClass=0x10030
ToolbarWindow32=0x10032
SysListView32=0x10034
SysHeader32=0x10036
RichEdit20W=0x10038
--- snip ---
After the child windows are created the queue paint count never drops to zero,
resulting in endless WM_PAINT processing.
Maybe some update (region) code path missed or flags problem?
I played a bit with ignoring null region updates and it seemed to help a bit
(preventing endless WM_PAINT loop) though other stuff wasn't drawn properly
then.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list