wine/windows painting.c
Marcelo Duarte
wine-devel at bol.com.br
Sun Dec 7 00:51:01 CST 2003
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 at 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 );
}
}
--
Marcelo Duarte
More information about the wine-devel
mailing list