Ignore:
Timestamp:
Nov 21, 2000, 12:36:09 PM (25 years ago)
Author:
sandervl
Message:

Updates for TEB changes

File:
1 edited

Legend:

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

    r4599 r4658  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.38 2000-11-15 20:30:46 sandervl Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.39 2000-11-21 11:36:08 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    132132//******************************************************************************
    133133//******************************************************************************
    134 BOOL OS2ToWinMsgTranslate(void *pThdb, QMSG *os2Msg, MSG *winMsg, BOOL isUnicode, BOOL fMsgRemoved)
     134BOOL OS2ToWinMsgTranslate(void *pTeb, QMSG *os2Msg, MSG *winMsg, BOOL isUnicode, BOOL fMsgRemoved)
    135135{
    136136  Win32BaseWindow *win32wnd = 0;
    137137  OSLIBPOINT       point, ClientPoint;
    138138  POSTMSG_PACKET  *packet;
    139   THDB            *thdb = (THDB *)pThdb;
     139  TEB             *teb = (TEB *)pTeb;
    140140  BOOL             fWasDisabled = FALSE;
    141141  int i;
     
    176176    case WM_CREATE:
    177177    {
    178         if(thdb->newWindow == 0) {
     178        if(teb->o.odin.newWindow == 0) {
    179179            DebugInt3();
    180180            goto dummymessage;
    181181        }
    182182
    183         win32wnd = (Win32BaseWindow *)thdb->newWindow;
     183        win32wnd = (Win32BaseWindow *)teb->o.odin.newWindow;
    184184
    185185        winMsg->message = WINWM_CREATE;
     
    233233        }
    234234        if(win32wnd->getParent()) {
    235               OSLibMapSWPtoWINDOWPOS(pswp, &thdb->wp, &swpOld, win32wnd->getParent()->getWindowHeight(),
     235              OSLibMapSWPtoWINDOWPOS(pswp, &teb->o.odin.wp, &swpOld, win32wnd->getParent()->getWindowHeight(),
    236236                                     win32wnd->getParent()->getClientRectPtr()->left,
    237237                                     win32wnd->getParent()->getClientRectPtr()->top,
    238238                                     win32wnd->getOS2WindowHandle());
    239239        }
    240         else  OSLibMapSWPtoWINDOWPOS(pswp, &thdb->wp, &swpOld, OSLibQueryScreenHeight(), 0, 0, win32wnd->getOS2WindowHandle());
     240        else  OSLibMapSWPtoWINDOWPOS(pswp, &teb->o.odin.wp, &swpOld, OSLibQueryScreenHeight(), 0, 0, win32wnd->getOS2WindowHandle());
    241241
    242242        if (!win32wnd->CanReceiveSizeMsgs())    goto dummymessage;
     
    246246/////                win32wnd->setClientRect(swpOld.x, swpOld.y, swpOld.x + swpOld.cx, swpOld.y + swpOld.cy);
    247247
    248                 thdb->wp.hwnd = win32wnd->getWindowHandle();
     248                teb->o.odin.wp.hwnd = win32wnd->getWindowHandle();
    249249                if ((pswp->fl & SWP_ZORDER) && (pswp->hwndInsertBehind > HWND_BOTTOM))
    250250                {
    251251                        Win32BaseWindow *wndAfter = Win32BaseWindow::GetWindowFromOS2Handle(pswp->hwndInsertBehind);
    252252                        if(wndAfter)
    253                               thdb->wp.hwndInsertAfter = wndAfter->getWindowHandle();
    254                         else  thdb->wp.hwndInsertAfter = HWND_TOP_W;
     253                              teb->o.odin.wp.hwndInsertAfter = wndAfter->getWindowHandle();
     254                        else  teb->o.odin.wp.hwndInsertAfter = HWND_TOP_W;
    255255                }
    256256        }
    257257        winMsg->message = WINWM_WINDOWPOSCHANGED;
    258         winMsg->lParam  = (LPARAM)&thdb->wp;
     258        winMsg->lParam  = (LPARAM)&teb->o.odin.wp;
    259259        break;
    260260    }
     
    496496        char c;
    497497
    498         thdb->fTranslated = FALSE;
     498        teb->o.odin.fTranslated = FALSE;
    499499        repeatCount = CHAR3FROMMP(os2Msg->mp1);
    500500        scanCode = CHAR4FROMMP(os2Msg->mp1);
     
    694694    case WM_RENDERALLFMTS:
    695695        winMsg->message = WINWM_RENDERALLFORMATS;
     696        break;
     697
     698    case WM_DESTROYCLIPBOARD:
     699        winMsg->message = WINWM_DESTROYCLIPBOARD;
    696700        break;
    697701
     
    733737BOOL OSLibWinTranslateMessage(MSG *msg)
    734738{
    735  THDB *thdb;
    736 
    737     thdb = GetThreadTHDB();
    738     if(!thdb) {
     739 TEB *teb;
     740
     741    teb = GetThreadTEB();
     742    if(!teb) {
    739743        return FALSE;
    740744    }
    741745    //NOTE: These actually need to be posted so that the next message retrieved by GetMessage contains
    742746    //      the newly generated WM_CHAR message.
    743     if(!thdb->fTranslated && thdb->os2msg.msg == WM_CHAR && !((SHORT1FROMMP(thdb->os2msg.mp1) & KC_KEYUP) == KC_KEYUP))
     747    if(!teb->o.odin.fTranslated && teb->o.odin.os2msg.msg == WM_CHAR && !((SHORT1FROMMP(teb->o.odin.os2msg.mp1) & KC_KEYUP) == KC_KEYUP))
    744748    {//TranslatedMessage was called before DispatchMessage, so queue WM_CHAR message
    745             ULONG fl = SHORT1FROMMP(thdb->os2msg.mp1);
     749            ULONG fl = SHORT1FROMMP(teb->o.odin.os2msg.mp1);
    746750            MSG extramsg;
    747751
    748752            memcpy(&extramsg, msg, sizeof(MSG));
    749             extramsg.wParam = SHORT1FROMMP(thdb->os2msg.mp2);
     753            extramsg.wParam = SHORT1FROMMP(teb->o.odin.os2msg.mp2);
    750754            extramsg.lParam = 0;
    751755
     
    757761                if(msg->wParam)
    758762                        extramsg.wParam = msg->wParam;
    759                 else    extramsg.wParam = SHORT2FROMMP(thdb->os2msg.mp2);
     763                else    extramsg.wParam = SHORT2FROMMP(teb->o.odin.os2msg.mp2);
    760764            }
    761765
     
    778782                extramsg.lParam |= (1<<31);
    779783
    780             thdb->fTranslated = TRUE;
    781             memcpy(&thdb->msgWCHAR, &extramsg, sizeof(MSG));
     784            teb->o.odin.fTranslated = TRUE;
     785            memcpy(&teb->o.odin.msgWCHAR, &extramsg, sizeof(MSG));
    782786            return TRUE;
    783787    }
Note: See TracChangeset for help on using the changeset viewer.