Ignore:
Timestamp:
May 25, 2001, 9:59:30 PM (24 years ago)
Author:
sandervl
Message:

Post(Thread)/SendMessage updates & fixes

File:
1 edited

Legend:

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

    r5713 r5805  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.51 2001-05-15 14:31:38 sandervl Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.52 2001-05-25 19:59:29 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    206206    //PostThreadMessage posts WIN32APP_POSTMSG msg without window handle
    207207    //Realplayer starts a timer with hwnd 0 & proc 0; check this here
    208     if(win32wnd == 0 && (os2Msg->msg != WM_CREATE && os2Msg->msg != WM_QUIT && os2Msg->msg != WM_TIMER && os2Msg->msg != WIN32APP_POSTMSG))
     208    if(win32wnd == 0 && (os2Msg->msg != WM_CREATE && os2Msg->msg != WM_QUIT && os2Msg->msg != WM_TIMER && os2Msg->msg < WIN32APP_POSTMSG))
    209209    {
    210210        goto dummymessage; //not a win32 client window
     
    218218        winMsg->hwnd = win32wnd->getWindowHandle();
    219219
    220     switch(os2Msg->msg)
    221     {
    222     case WIN32APP_POSTMSG:
    223     {
     220    if(os2Msg->msg >= WIN32APP_POSTMSG) {
    224221        packet = (POSTMSG_PACKET *)os2Msg->mp2;
    225222        if(packet && ((ULONG)os2Msg->mp1 == WIN32MSG_MAGICA || (ULONG)os2Msg->mp1 == WIN32MSG_MAGICW)) {
    226             winMsg->message = packet->Msg;
     223            winMsg->message = os2Msg->msg - WIN32APP_POSTMSG;
    227224            winMsg->wParam  = packet->wParam;
    228225            winMsg->lParam  = packet->lParam;
    229226            if(fMsgRemoved == MSG_REMOVE) free(packet); //free the shared memory here
    230             break;
     227            return TRUE;
     228        }
     229        else {//broadcasted message (no packet present)
     230            winMsg->message = os2Msg->msg - WIN32APP_POSTMSG;
     231            winMsg->wParam  = (UINT)os2Msg->mp1;
     232            winMsg->lParam  = (DWORD)os2Msg->mp2;
     233            return TRUE;
    231234        }
    232235        goto dummymessage;
    233236    }
    234237
     238    switch(os2Msg->msg)
     239    {
    235240    //OS/2 msgs
    236241    case WM_CREATE:
Note: See TracChangeset for help on using the changeset viewer.