Ignore:
Timestamp:
Sep 4, 2000, 8:23:58 PM (25 years ago)
Author:
sandervl
Message:

SetWindowLong changes + fixes for GWL_WNDPROC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/win32wbase.cpp

    r4147 r4188  
    1 /* $Id: win32wbase.cpp,v 1.209 2000-09-02 08:30:09 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.210 2000-09-04 18:23:56 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    20782078
    20792079    dprintf(("ShowWindow %x %x", getWindowHandle(), nCmdShow));
    2080     if(getWindowHandle() == 0x6800001d && nCmdShow == 1) {
    2081         rc = 0;
    2082     }
    20832080    wasVisible = (getStyle() & WS_VISIBLE) != 0;
    20842081
     
    21892186   RECT oldClientRect = rectClient;
    21902187
    2191     if(getWindowHandle() == 0x6800000a) {
    2192         rc = FALSE;
    2193     }
    21942188    if (fuFlags &
    21952189       ~(SWP_NOSIZE     | SWP_NOMOVE     | SWP_NOZORDER     |
     
    30603054        }
    30613055        case GWL_WNDPROC:
    3062                 oldval = (LONG)WINPROC_GetProc(win32wndproc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A);
    3063                 WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, (WNDPROC)value, WINPROC_GetProcType(win32wndproc), WIN_PROC_WINDOW);
     3056        {
     3057                //Note: Type of SetWindowLong determines new window proc type
     3058                //      UNLESS the new window proc has already been registered
     3059                //      (use the old type in that case)
     3060                //      (VERIFIED in NT 4, SP6)
     3061                WINDOWPROCTYPE type = WINPROC_GetProcType((HWINDOWPROC)value);
     3062                if(type == WIN_PROC_INVALID) {
     3063                        type = (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A;
     3064                }
     3065                oldval = (LONG)WINPROC_GetProc(win32wndproc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A);
     3066                WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, (WNDPROC)value, type, WIN_PROC_WINDOW);
    30643067                return oldval;
    3065 
     3068        }
    30663069        case GWL_HINSTANCE:
    30673070                oldval = hInstance;
Note: See TracChangeset for help on using the changeset viewer.