ChangeLog: * dlls/comctl32/commctrl.c Abort with error if the app uses our api to subclass and then theirs then ours again. nog.
Index: dlls/comctl32/commctrl.c =================================================================== RCS file: /home/wine/wine/dlls/comctl32/commctrl.c,v retrieving revision 1.56 diff -u -r1.56 commctrl.c --- dlls/comctl32/commctrl.c 2 Oct 2002 20:01:02 -0000 1.56 +++ dlls/comctl32/commctrl.c 3 Oct 2002 18:56:20 -0000 @@ -1049,6 +1049,17 @@ else stack->origproc = (WNDPROC)SetWindowLongA (hWnd, GWL_WNDPROC, (LONG)DefSubclassProc); + } else { + WNDPROC current; + if (IsWindowUnicode (hWnd)) + current = (WNDPROC)GetWindowLongW (hWnd, GWL_WNDPROC); + else + current = (WNDPROC)GetWindowLongA (hWnd, GWL_WNDPROC); + + if (current != DefSubclassProc) { + ERR ("Application has subclassed with our procedure, then manually, then with us again. The current implementation can't handle this.\n"); + return FALSE; + } } /* Check to see if we have called this function with the same uIDSubClass