This patch caused a regression in Winamp 2.91, and the top window is not repainted. I use with the folowing modifications in the ~/.wine/config:
; Winamp 2.91 runs good, but the title is eated. In desktop is better. [AppDefaults\winamp.exe\x11drv] "Desktop" = "560x700"
Em Sex 05 Dez 2003 01:42, Alexandre Julliard escreveu:
ChangeSet ID: 10338 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@wine.codeweavers.com 2003/12/04 22:42:43
Modified files: windows : painting.c
Log message: In RDW_ValidateParent, get rid of the parent update region if it is empty after the validation, to avoid a useless WM_PAINT.
Patch: http://cvs.winehq.com/patch.py?id=10338
Old revision New revision Changes Path 1.88 1.89 +9 -1 wine/windows/painting.c
Index: wine/windows/painting.c diff -u wine/windows/painting.c:1.88 wine/windows/painting.c:1.89 --- wine/windows/painting.c:1.88 Sun Dec 7 05:54:18 2003 +++ wine/windows/painting.c Sun Dec 7 05:54:18 2003 @@ -379,7 +379,15 @@ ptOffset.x = rect.left - rectParent.left; ptOffset.y = rect.top - rectParent.top; OffsetRgn( hrg, ptOffset.x, ptOffset.y ); - CombineRgn( wndParent->hrgnUpdate, wndParent->hrgnUpdate, hrg, RGN_DIFF ); + if (CombineRgn( wndParent->hrgnUpdate, wndParent->hrgnUpdate, hrg, RGN_DIFF ) == NULLREGION) + { + /* the update region has become empty */ + DeleteObject( wndParent->hrgnUpdate ); + wndParent->hrgnUpdate = 0; + wndParent->flags &= ~WIN_NEEDS_ERASEBKGND; + if( !(wndParent->flags & WIN_INTERNAL_PAINT) ) + add_paint_count( wndParent->hwndSelf, -1 ); + } OffsetRgn( hrg, -ptOffset.x, -ptOffset.y ); } }