[Bug 10522] endless WM_PAINT loop bug (update regions, queue paint count)

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jul 22 01:28:21 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=10522





--- Comment #3 from Anastasius Focht <focht at gmx.net>  2008-07-22 01:28:20 ---
Hello,

Visual Studio .NET 2005
(http://appdb.winehq.org/objectManager.php?sClass=version&iId=4494) has a
similar issue.
In the "welcome"/"start page" there is an area/control "Visual Studio
Headlines" being constantly redrawn, eating 50-100% of one CPU.

+tid,+msg,+win,+server between successive RedrawWindow calls (repeats forever):

--- snip ---
..
0009:trace:win:RedrawWindow 0x10114 rect (0,0)-(204,66) flags: RDW_INVALIDATE
RDW_ERASE
0009: redraw_window( window=0x10114, flags=00000005, region={{0,0;204,66}} )
0009: redraw_window() = 0
0009:trace:win:release_dc 0x10114 0x30c
0009: set_caret_info( flags=00000006, handle=0x10114, x=0, y=0, hide=-1,
state=1 )
0009: set_caret_info() = ACCESS_DENIED { full_handle=(nil), old_rect={0,0;0,0},
old_hide=1, old_state=1 }
0009: get_update_region( window=0x10114, from_child=(nil), flags=00000023 )
0009: get_update_region() = 0 { child=0x10114, flags=00000002, total_size=16,
region={{332,718;536,777}} }
0009:trace:win:GetDCEx hwnd 0x10114, hrgnClip 0xbb0c, flags 00010080
0009:trace:win:GetDCEx  found valid 0x12ecb0 dce [0x10114], flags 00000002
0009: get_visible_region( window=0x10114, flags=00000082 )
0009: get_visible_region() = 0 { top_win=0x1002c, top_rect={280,108;1526,798},
win_rect={332,718;536,784}, total_size=16, region={{332,718;536,777}} }
0009:trace:win:GetDCEx (0x10114,0xbb0c,0x10080): returning 0x30c
0009:trace:win:GetWindowRect hwnd 0x10114 ((332,718)-(536,784))
0009:trace:win:release_dc 0x10114 0x30c
0009: get_message( flags=00000000, get_win=(nil), get_first=00000000,
get_last=ffffffff, hw_id=00000000, wake_mask=00000040, changed_mask=000004ff )
0009: get_message() = 0 { win=0x10114, type=6, msg=0000000f, wparam=0,
lparam=0, info=0, x=0, y=0, time=0000587e, hw_id=00000000,
active_hooks=80000000, total=0, data={} }
0009:trace:msg:peek_message got type 6 msg f (WM_PAINT) hwnd 0x10114 wp 0 lp 0
0009: get_message( flags=00000001, get_win=(nil), get_first=00000000,
get_last=ffffffff, hw_id=00000000, wake_mask=00000040, changed_mask=000004ff )
0009: get_message() = 0 { win=0x10114, type=6, msg=0000000f, wparam=0,
lparam=0, info=0, x=0, y=0, time=0000587f, hw_id=00000000,
active_hooks=80000000, total=0, data={} }
0009:trace:msg:peek_message got type 6 msg f (WM_PAINT) hwnd 0x10114 wp 0 lp 0
0009: set_caret_info( flags=00000006, handle=0x10114, x=0, y=0, hide=1, state=0
)
0009: set_caret_info() = ACCESS_DENIED { full_handle=(nil), old_rect={0,0;0,0},
old_hide=1, old_state=1 }
0009: get_update_region( window=0x10114, from_child=(nil), flags=0000002f )
0009: get_update_region() = 0 { child=0x10114, flags=00000004, total_size=16,
region={{332,718;536,777}} }
0009:trace:win:GetDCEx hwnd 0x10114, hrgnClip 0xbb18, flags 00010080
0009:trace:win:GetDCEx  found valid 0x12ecb0 dce [0x10114], flags 00000002
0009: get_visible_region( window=0x10114, flags=00000082 )
0009: get_visible_region() = 0 { top_win=0x1002c, top_rect={280,108;1526,798},
win_rect={332,718;536,784}, total_size=16, region={{332,718;536,777}} }
0009:trace:win:GetDCEx (0x10114,0xbb18,0x10080): returning 0x30c
0009:trace:win:BeginPaint hdc = 0x30c box = ((0,0)-(204,59)), fErase = 0
0009:trace:win:WIN_SetWindowLong 0x100d6 0 0 W
0009:trace:win:WIN_SetWindowLong 0x100d6 0 0 W
0009:trace:win:GetDCEx hwnd 0x10114, hrgnClip (nil), flags 00000003
0009:trace:win:GetDCEx  found valid 0x12f978 dce [0x10114], flags 00000003
0009:trace:win:GetDCEx (0x10114,(nil),0x3): returning 0x384
0009:trace:win:release_dc 0x10114 0x384
0009:trace:win:RedrawWindow 0x10114 rect (0,0)-(204,66) flags: RDW_INVALIDATE
RDW_ERASE 
..
--- snip ---

When the start page is closed, the problem goes away.

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list