With today's CVS (last patch was "wine/ dlls/gdi/wing.c dlls/kernel/comm.c
dlls/ ..."), the following problems exist in the ControSpy (REBAR) test
program:
Problem #1. Using native version of "commctrl,comctl32", get the following
fault:
/home/albertel/t1/wine/wine -managed -winver win95 -dll commctrl,comctl32=n
G:\Rdhat\test-pgm\controls\rebar.exe
Could not stat /mnt/winflp (No such file or directory), ignoring drive A:
fixme:pthread_kill_other_threads_np
Could not stat /mnt/winflp (No such file or directory), ignoring drive A:
WineDbg starting... on pid 8064ef0
......
Unhandled exception: page fault on read access to 0x00000067
in 32-bit code (0x40894f24).
In 32-bit mode.
Symbol h_errno is invalid
Symbol hack_digit is invalid
0x40894f24 (clip_children+0x24 [winpos.c:70] in libx11drv.so): testb
$0x10,0x67(%esi)
70 if (ptr->dwStyle & WS_VISIBLE) break;
Wine-dbg>bt
Backtrace:
=>0 0x40894f24 (clip_children+0x24(win=0x403732dc, last=0x40373370,
hrgn=0xa22, whole_window=0x0) [winpos.c:70] in libx11drv.so) (ebp=40586564)
1 0x4089511e (get_visible_region+0x14e(win=0x40373370, top=0x403732dc,
flags=0x1001a, mode=0x1) [winpos.c:144] in libx11drv.so) (ebp=405865a4)
2 0x408952ec (X11DRV_GetDC+0x1a8(hwnd=0x1908, hdc=0x88, hrgn=0x0,
flags=0x1001a) [winpos.c:229] in libx11drv.so) (ebp=405865e8)
3 0x406874bc (GetDCEx+0x29c(hwnd=0x1908, hrgnClip=0x0, flags=0x10000)
[dce.c:531] in libuser32.so) (ebp=40586620)
4 0x4068755c (GetDC+0x2c(hwnd=0x1908) [dce.c:561] in libuser32.so)
(ebp=40586638)
5 0xbfb9a055 (COMCTL32.DLL.InitCommonControlsEx+0x4137 in
C:\WINDOWS\SYSTEM\COMCTL32.DLL) (ebp=40586694)
6 0xbfb9a037 (COMCTL32.DLL.InitCommonControlsEx+0x4119 in
C:\WINDOWS\SYSTEM\COMCTL32.DLL) (ebp=405867fc)
7 0xbfb94e38 (COMCTL32.DLL.ImageList_GetIconSize+0x558 in
C:\WINDOWS\SYSTEM\COMCTL32.DLL) (ebp=40586854)
8 0x406b24a7 (WINPROC_wrapper+0x17 in libuser32.so) (ebp=40586878)
9 0x406b2520 (WINPROC_CallWndProc+0x70(proc=0xbfb94a89, hwnd=0x1908,
msg=0x81, wParam=0x0, lParam=0x40586b10) [winproc.c:171] in libuser32.so)
(ebp=405868a0)
The following patch bypasses the tests:
--- wine/dlls/x11drv/winpos.c Wed Jun 13 20:03:34 2001
+++ mywine/dlls/x11drv/winpos.c Wed Jun 13 22:59:18 2001
@@ -65,6 +65,9 @@
HRGN rectRgn;
int x, y;
+ /* if no children then nothing to do */
+ if (!win->child) return;
+
/* first check if we have anything to do */
for (ptr = win->child; ptr != last; ptr = ptr->next)
if (ptr->dwStyle & WS_VISIBLE) break;
Problem # 2. With above patch and still using native comctl32 get the
following:
/home/albertel/t1/mywine/wine -managed -winver win95 -dll
commctrl,comctl32=n G:\Rdhat\test-pgm\controls\rebar.exe
Could not stat /mnt/winflp (No such file or directory), ignoring drive A:
err:region:CombineRgn Invalid rgn=0000
err:region:CombineRgn Invalid rgn=0000
err:region:CombineRgn Invalid rgn=0000
err:region:CombineRgn Invalid rgn=0000
err:region:CombineRgn Invalid rgn=0000
err:region:CombineRgn Invalid rgn=0000
err:x11drv:X11DRV_SetDeviceClipping Rgn is 0. Please report this.
##normal exit from wine##
Problem # 3. Still with native comctl32. With more than 1 band in a row,
when you drag a band from left to right, the band being uncovered is not
fully repainted (suspect InvalidateRect too small). This is especially
visible if the band being dragged is a different color. It is also sensitive
to the speed of the drag. Attached is a control file to create different
color bands in a row.
If you need any more information, let me know what. I will be doing more
work tomorrow night.
Thanks,
Guy