PATCH: redrawing workaround

Marcus Meissner mm at lst.de
Sun Mar 6 13:09:59 CST 2005


Hi,

When displaying the main dialog of IDA Pro the 
dlls/user/painting.c::update_now() goes into in
an endless erase loop.

This patch work arounds the problem, but is probably
not fully correct.

Ciao, Marcus

Changelog:
	When send_erase() fails, break out of the loop.

Index: dlls/user/painting.c
===================================================================
RCS file: /home/wine/wine/dlls/user/painting.c,v
retrieving revision 1.20
diff -u -r1.20 painting.c
--- dlls/user/painting.c	24 Feb 2005 19:42:08 -0000	1.20
+++ dlls/user/painting.c	6 Mar 2005 19:06:22 -0000
@@ -351,8 +351,14 @@
             TRACE( "%p not repainted properly, erasing\n", child );
             if ((hrgn = send_ncpaint( child, NULL, &erase_flags )))
             {
-                send_erase( child, erase_flags, hrgn, &rect, NULL );
+                BOOL ret;
+
+                ret = send_erase( child, erase_flags, hrgn, &rect, NULL );
                 DeleteObject( hrgn );
+                if (!ret) {
+                   FIXME("send_erase returned FALSE after second try erase.\n");
+                   break;
+		}
             }
         }
         else
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050306/9ff79c5b/attachment.pgp


More information about the wine-patches mailing list