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