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/win32dlg.cpp

    r3662 r4188  
    1 /* $Id: win32dlg.cpp,v 1.50 2000-06-07 14:51:29 sandervl Exp $ */
     1/* $Id: win32dlg.cpp,v 1.51 2000-09-04 18:23:55 sandervl Exp $ */
    22/*
    33 * Win32 Dialog Code for OS/2
     
    10621062    {
    10631063    case DWL_DLGPROC:
     1064    {
     1065        //Note: Type of SetWindowLong determines new window proc type
     1066        //      UNLESS the new window proc has already been registered
     1067        //      (use the old type in that case)
     1068        //      (VERIFIED in NT 4, SP6)
     1069        WINDOWPROCTYPE type = WINPROC_GetProcType((HWINDOWPROC)value);
     1070        if(type == WIN_PROC_INVALID) {
     1071                type = (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A;
     1072        }
    10641073        oldval = (LONG)WINPROC_GetProc(Win32DlgProc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A);
    1065         WINPROC_SetProc((HWINDOWPROC *)&Win32DlgProc, (WNDPROC)value, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A, WIN_PROC_WINDOW);
     1074        WINPROC_SetProc((HWINDOWPROC *)&Win32DlgProc, (WNDPROC)value, type, WIN_PROC_WINDOW);
    10661075        return oldval;
     1076    }
    10671077    case DWL_MSGRESULT:
    10681078        oldval = msgResult;
Note: See TracChangeset for help on using the changeset viewer.