Ignore:
Timestamp:
Sep 5, 2000, 9:20:38 PM (25 years ago)
Author:
sandervl
Message:

WM_FOCUSCHANGE fixes + misc fixes

File:
1 edited

Legend:

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

    r3702 r4194  
    1 /* $Id: win32class.cpp,v 1.17 2000-06-13 21:26:29 sandervl Exp $ */
     1/* $Id: win32class.cpp,v 1.18 2000-09-05 19:20:35 sandervl Exp $ */
    22/*
    33 * Win32 Window Class Managment Code for OS/2
     
    425425 ULONG rc;
    426426
    427   if(classNameA) {
    428     dprintf2(("Win32WndClass::setClassLongA %s: %d %x", classNameA, index, lNewVal));
    429   }
    430   else  dprintf2(("Win32WndClass::setClassLongA %d: %d %x", classAtom, index, lNewVal));
    431427  switch(index) {
    432428        case GCL_CBCLSEXTRA: //TODO (doesn't affect allocated classes, so what does it do?)
     
    467463                break;
    468464        case GCL_WNDPROC:
     465                //Note: Type of SetWindowLong determines new window proc type
     466                //      UNLESS the new window proc has already been registered
     467                //      (use the old type in that case)
     468                //      (VERIFIED in NT 4, SP6)
     469                //TODO: Is that also true for GCL_WNDPROC???????????????
    469470                rc = (LONG)WINPROC_GetProc(windowProc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A );
    470471                WINPROC_SetProc((HWINDOWPROC *)&windowProc, (WNDPROC)lNewVal, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A, WIN_PROC_CLASS );
     
    477478                        rc = userClassLong[index];
    478479                        userClassLong[index] = lNewVal;
    479                         return(rc);
     480                        break;
    480481                }
    481482                SetLastError(ERROR_INVALID_PARAMETER);
     483                if(classNameA) {
     484                      dprintf2(("WARNING: Win32WndClass::setClassLongA %s: %d %x -> wrong INDEX", classNameA, index, lNewVal));
     485                }
     486                else  dprintf2(("WARNING: Win32WndClass::setClassLongA %d: %d %x -> wrong INDEX", classAtom, index, lNewVal));
    482487                return 0;
    483488  }
     489  SetLastError(ERROR_SUCCESS);
     490  if(classNameA) {
     491        dprintf2(("Win32WndClass::setClassLongA %s: %d %x returned %x", classNameA, index, lNewVal, rc));
     492  }
     493  else  dprintf2(("Win32WndClass::setClassLongA %d: %d %x returned %x", classAtom, index, lNewVal, rc));
    484494  return(rc);
    485495}
Note: See TracChangeset for help on using the changeset viewer.