Hi all,
crash for Word2K, current CVS, Insert->Object...->Microsoft WordArt 2.0:
153 if (!(parentWnd->dwStyle & WS_CLIPCHILDREN) && parentWnd->hrgnUpdate) Wine-dbg>bt Backtrace: =>0 0x405ebaae (WIN_HaveToDelayNCPAINT+0x3e(hwnd=0x1004b, uncFlags=0x0) [painting.c:153] in user32.dll.so) (ebp=40566cb4) 1 0x405ec571 (RDW_Paint+0x81(wndPtr=0x403980a0, hrgn=0x0, flags=0x50, ex=0x0) [painting.c:606] in user32.dll.so) (ebp=40566ce0 2 0x405ecae5 (RedrawWindow+0x3b1(hwnd=0x1004b, rectUpdate=0x0, hrgnUpdate=0x0, flags=0x50) [painting.c:801] in user32.dll.so) (ebp=40566d4c) 3 0x40614ba9 (PeekMessageW+0xfd(msg_out=0x447030, hwnd=0x0, first=0x0, last=0x0, flags=0x0) [message.c:2103] in user32.dll.so) 4 0x40614c1b (PeekMessageA+0x27(msg=0x447030, hwnd=0x0, first=0x0, last=0x0, flags=0x0) [message.c:2126] in user32.dll.so) (ebp=40566dbc) 5 0x0040ce4f (Wrdart32.exe..text+0xbe4f in C:\Program Files\Common Files\Microsoft Shared\WordArt\Wrdart32.exe) (ebp=00447030) 6 0x00000532 (ebp=00020040)
inf loc: hwnd == 0x1004b uncFlags == 0 parentWnd == 0
The parent window seems to be a valid window handle, but the parent wnd *ptr* becomes NULL -> crash. Sounds like some code nullifies the valid parent window handle in between. Of course I suppose that window locking was supposed to take care of this. Seems like this isn't exactly the case here ;-)
Any ideas ?
Hmm, wait, in a trace I just found: trace:win:RedrawWindow 10048 (16a6) NULL 0,0-0,0 0000 flags=0050 trace:win:OffsetRect <- 0,0-78,13 trace:win:RDW_UpdateRgns hwnd 10048 [16a6] -> hrgn [0000], flags [0050] trace:win:RDW_Paint hwnd 10048 [16a6] -> hrgn [0000], flags [0050] err:win:WIN_FindWndPtr window 10022 belongs to other process 093bda98:Call kernel32.UnhandledExceptionFilter(40454900) ret=0043854a wine: Unhandled exception, starting debugger...
So it seems like the parent window is in another process and thus WIN_FindWndPtr fails to return the handle and returns NULL. Should we handle the possibility of a foreign parent window handle by not doing anything in case of a NULL parent wndPtr in WIN_HaveToDelayNCPaint() ?
Thanks !