Changeset 239 for trunk/src


Ignore:
Timestamp:
Jun 28, 1999, 6:59:43 PM (26 years ago)
Author:
sandervl
Message:

Get/SetWindowLong bugfixes

File:
1 edited

Legend:

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

    r232 r239  
    1 /* $Id: setwindow.cpp,v 1.5 1999-06-27 21:59:40 sandervl Exp $ */
     1/* $Id: setwindow.cpp,v 1.6 1999-06-28 16:59:43 sandervl Exp $ */
    22
    33/*
     
    3838        else {
    3939                if(!(nIndex == DWL_DLGPROC && wndproc->IsWindow() == TRUE)) {
     40                        if(arg3 == (LONG)wndproc->GetWin32ToOS2Callback()) {
     41                                //restore original dialog control handler
     42                                dprintf(("SetWindowLongA: restore original dialog control handler"));
     43                                rc = (LONG)wndproc->GetWin32Callback();
     44                                wndproc->SetWin32Callback(0);
     45#ifdef DEBUG
     46                                if(wndproc->GetOrgOS2Callback() == NULL) {
     47                                        DebugInt3();
     48                                }
     49#endif
     50                                O32_SetWindowLong(hwnd, nIndex, (LONG)wndproc->GetOrgOS2Callback());
     51                                return rc;
     52                        }
    4053                        rc = (LONG)wndproc->GetWin32Callback();
    4154                        if(rc == 0) {
     
    89102        if(wndproc) {
    90103                if(!(nIndex == DWL_DLGPROC && wndproc->IsWindow() == TRUE))
    91                         return (LONG)wndproc->GetWin32Callback();
     104                {
     105                        rc = (LONG)wndproc->GetWin32Callback();
     106                        if(rc == 0) {
     107                                //window proc that was just created with os/2 callback only
     108                                rc = (LONG) wndproc->GetWin32ToOS2Callback();
     109                        }
     110                        return rc;
     111                }
    92112        }
    93113        else {//probably a dialog box control
Note: See TracChangeset for help on using the changeset viewer.