clip_children revisited
lawson_whitney at juno.com
lawson_whitney at juno.com
Fri Jun 15 19:00:18 CDT 2001
Good day!
I reversed my clip_children patch and applied the one that recently
appeared in wine-cvs, and got this:
Unhandled exception: page fault on read access to 0x00000067
in 32-bit code (0x40a55f5a).
In 32-bit mode.
Symbol h_errno is invalid
Symbol hack_digit is invalid
0x40a55f5a (clip_children+0x8a [winpos.c:83] in libx11drv.so): testb
$0x10,0x67(%esi)
83 if (ptr->dwStyle & WS_VISIBLE)
Wine-dbg>info local
clip_children:win == 0x40385a4c
clip_children:last == 0x40386538
clip_children:hrgn == 0x000011b2
clip_children:whole_window == 0x00000000
clip_children:win (optimized into register $edx) == 0x406e4cac
clip_children:ptr (optimized into register $esi) == 0x00000000
clip_children:rectRgn (optimized into register $edi) == 0x000011ba
clip_children:x == 0x00000000
clip_children:y == 0x00000000
Wine-dbg>
It seems my app still needs this, or something similar, so meaning no
disrespect, I commend it to your attention again.
Regards,
Lawson
---------- Forwarded message ----------
Date: Thu, 14 Jun 2001 10:35:05 -0400 (EDT)
From: whit at giftie.alien.org
To: wine-patches at winehq.com
Subject: clip fewer children
Good day!
This is just a knee-jerk reaction to a null-pointer dereference, but it
makes my app run again. If somebody figures out how to stop the pointer
being null in the first place, maybe that is a better way. I'll send a
backtrace to wine-devel.
ChangeLog:
* dlls/x11drv/winpos.c:
Lawson Whitney <lawson_whitney at juno.com>
Don't try to clip children that aren't there.
Or, if you prefer,
ChangeLog:
* dlls/x11drv/winpos.c:
Lawson Whitney <lawson_whitney at juno.com>
Protect against null-pointer dereference.
Regards,
Lawson
-------------- next part --------------
diff -urN was/dlls/x11drv/winpos.c is/dlls/x11drv/winpos.c
--- was/dlls/x11drv/winpos.c Thu Jun 14 00:29:36 2001
+++ is/dlls/x11drv/winpos.c Thu Jun 14 09:39:07 2001
@@ -78,7 +78,7 @@
else x = y = 0;
rectRgn = CreateRectRgn( 0, 0, 0, 0 );
- while (ptr != last)
+ while ((ptr) && (ptr != last))
{
if (ptr->dwStyle & WS_VISIBLE)
{
More information about the wine-patches
mailing list