Ignore:
Timestamp:
Jun 9, 2001, 4:50:26 PM (24 years ago)
Author:
sandervl
Message:

reference count (window + class objects) rewrite

File:
1 edited

Legend:

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

    r5805 r5935  
    1 /* $Id: windowmsg.cpp,v 1.25 2001-05-25 19:59:30 sandervl Exp $ */
     1/* $Id: windowmsg.cpp,v 1.26 2001-06-09 14:50:26 sandervl Exp $ */
    22/*
    33 * Win32 window message APIs for OS/2
     
    146146{
    147147  Win32BaseWindow *window;
     148  LRESULT result;
    148149
    149150    if (hwnd == HWND_BROADCAST|| hwnd == HWND_TOPMOST)
     
    158159        return 0;
    159160    }
    160     return window->SendMessageA(msg, wParam, lParam);
     161    result = window->SendMessageA(msg, wParam, lParam);
     162    RELEASE_WNDOBJ(window);
     163    return result;
    161164}
    162165//******************************************************************************
     
    165168{
    166169  Win32BaseWindow *window;
     170  LRESULT result;
    167171
    168172    if (hwnd == HWND_BROADCAST|| hwnd == HWND_TOPMOST)
     
    177181        return 0;
    178182    }
    179     return window->SendMessageW(msg, wParam, lParam);
     183    result = window->SendMessageW(msg, wParam, lParam);
     184    RELEASE_WNDOBJ(window);
     185    return result;
    180186}
    181187//******************************************************************************
     
    184190{
    185191  Win32BaseWindow *window;
     192  HWND hwndOS2;
    186193
    187194    if (hwnd == HWND_BROADCAST) //Not HWND_TOPMOST???
     
    199206        return 0;
    200207    }
     208    hwndOS2 = window->getOS2WindowHandle();
     209    RELEASE_WNDOBJ(window);
    201210    dprintf(("PostMessageA, %x %x %x %x", hwnd, msg, wParam, lParam));
    202     return OSLibPostMessage(window->getOS2WindowHandle(), msg, wParam, lParam, FALSE);
     211    return OSLibPostMessage(hwndOS2, msg, wParam, lParam, FALSE);
    203212}
    204213//******************************************************************************
     
    207216{
    208217  Win32BaseWindow *window;
     218  HWND hwndOS2;
    209219
    210220    if (hwnd == HWND_BROADCAST) //Not HWND_TOPMOST???
     
    222232        return 0;
    223233    }
     234    hwndOS2 = window->getOS2WindowHandle();
     235    RELEASE_WNDOBJ(window);
    224236    dprintf(("PostMessageW, %x %x %x %x", hwnd, msg, wParam, lParam));
    225     return OSLibPostMessage(window->getOS2WindowHandle(), msg, wParam, lParam, TRUE);
     237    return OSLibPostMessage(hwndOS2, msg, wParam, lParam, TRUE);
    226238}
    227239//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.