Changeset 2400 for trunk/src


Ignore:
Timestamp:
Jan 11, 2000, 12:29:16 AM (26 years ago)
Author:
sandervl
Message:

get/peekmessage fixes, timer fix, (user/new) replaced wm_hittest code; added wm_ncactivate, changed system menu

Location:
trunk/src/user32
Files:
1 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/new/loadres.cpp

    r2309 r2400  
    1 /* $Id: loadres.cpp,v 1.14 2000-01-03 20:53:49 cbratschi Exp $ */
     1/* $Id: loadres.cpp,v 1.15 2000-01-10 23:29:12 sandervl Exp $ */
    22
    33/*
     
    232232}
    233233//******************************************************************************
     234//******************************************************************************
     235BOOL IsSystemBitmap(ULONG id)
     236{
     237   switch(id)
     238   {
     239        case OBM_UPARROW:
     240        case OBM_DNARROW:
     241        case OBM_RGARROW:
     242        case OBM_LFARROW:
     243        case OBM_RESTORE:
     244        case OBM_RESTORED:
     245        case OBM_UPARROWD:
     246        case OBM_DNARROWD:
     247        case OBM_RGARROWD:
     248        case OBM_LFARROWD:
     249        case OBM_OLD_UPARROW:
     250        case OBM_OLD_DNARROW:
     251        case OBM_OLD_RGARROW:
     252        case OBM_OLD_LFARROW:
     253        case OBM_CHECK:
     254        case OBM_CHECKBOXES:
     255        case OBM_BTNCORNERS:
     256        case OBM_COMBO:
     257        case OBM_REDUCE:
     258        case OBM_REDUCED:
     259        case OBM_ZOOM:
     260        case OBM_ZOOMD:
     261        case OBM_SIZE:
     262        case OBM_CLOSE:
     263        case OBM_MNARROW:
     264        case OBM_UPARROWI:
     265        case OBM_DNARROWI:
     266        case OBM_RGARROWI:
     267        case OBM_LFARROWI:
     268        case OBM_CLOSED:
     269        case OBM_OLD_CLOSE:
     270        case OBM_BTSIZE:
     271        case OBM_OLD_REDUCE:
     272        case OBM_OLD_ZOOM:
     273        case OBM_OLD_RESTORE:
     274                return TRUE;
     275
     276        default:
     277                return FALSE;
     278   }
     279}
     280//******************************************************************************
    234281//NOTE: LR_CREATEDIBSECTION flag doesn't work (crash in GDI32)!
    235282//******************************************************************************
     
    324371//TODO: No support for RT_NEWBITMAP
    325372//******************************************************************************
     373//******************************************************************************
     374//TODO: No support for RT_NEWBITMAP
     375//******************************************************************************
    326376HBITMAP WIN32API LoadBitmapA(HINSTANCE hinst, LPCSTR lpszBitmap)
    327377{
    328378 HBITMAP hBitmap = 0;
    329379
    330   return LoadBitmapA((hinst == 0) ? hInstanceUser32:hinst,lpszBitmap,0,0,0);
     380  if (!hinst)
     381  {
     382    if(IsSystemBitmap((ULONG)lpszBitmap))
     383    {
     384         hBitmap =  LoadBitmapA(hInstanceUser32, lpszBitmap, 0, 0, 0);
     385    }
     386  }
     387  if(!hBitmap)
     388        hBitmap = LoadBitmapA(hinst, lpszBitmap, 0, 0, 0);
     389
    331390  dprintf(("LoadBitmapA returned %08xh\n", hBitmap));
    332391
  • trunk/src/user32/new/oslibmsg.cpp

    r2381 r2400  
    1 /* $Id: oslibmsg.cpp,v 1.11 2000-01-09 14:14:22 cbratschi Exp $ */
     1/* $Id: oslibmsg.cpp,v 1.12 2000-01-10 23:29:12 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    183183        }
    184184        //SvL: Don't dispatch messages sent by PostThreadMessage (correct??)
     185        //     Or WM_TIMER msgs with no window handle or timer proc
    185186        return 0;
    186187
     
    219220        MsgThreadPtr->msg  = 0;
    220221        MsgThreadPtr->hwnd = 0;
    221         return TRUE;
     222        return (pMsg->message == WINWM_QUIT);
    222223  }
    223224
     
    230231        while(rc == FALSE);
    231232
    232     return (pMsg->message == WINWM_QUIT);
     233        return (pMsg->message == WINWM_QUIT);
    233234  }
    234235  else
  • trunk/src/user32/new/oslibmsgtranslate.cpp

    r2381 r2400  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.9 2000-01-09 14:14:23 cbratschi Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.10 2000-01-10 23:29:12 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    133133  POSTMSG_PACKET  *packet;
    134134  THDB            *thdb = (THDB *)pThdb;
     135  ULONG            hittest;
    135136  int i;
    136137
     
    138139  win32wnd = Win32BaseWindow::GetWindowFromOS2Handle(os2Msg->hwnd);
    139140  if (!win32wnd) win32wnd = Win32BaseWindow::GetWindowFromOS2FrameHandle(os2Msg->hwnd);
     141
    140142  //PostThreadMessage posts WIN32APP_POSTMSG msg without window handle
    141   if(win32wnd == 0 && (os2Msg->msg != WM_CREATE && os2Msg->msg != WM_QUIT && os2Msg->msg != WIN32APP_POSTMSG))
     143  //Realplayer starts a timer with hwnd 0 & proc 0; check this here
     144  if(win32wnd == 0 && (os2Msg->msg != WM_CREATE && os2Msg->msg != WM_QUIT && os2Msg->msg != WM_TIMER && os2Msg->msg != WIN32APP_POSTMSG))
    142145  {
    143146        goto dummymessage; //not a win32 client window
     
    167170      case WM_BUTTON3DBLCLK:
    168171        //WM_NC*BUTTON* is posted when the cursor is in a non-client area of the window
     172
     173        hittest = win32wnd->MsgHitTest(winMsg->pt.x, winMsg->pt.y);
     174
    169175        if (IsNCMouseMsg(win32wnd)) {
    170176            winMsg->message = WINWM_NCLBUTTONDOWN + (os2Msg->msg - WM_BUTTON1DOWN);
    171             winMsg->wParam  = win32wnd->lastHitTestVal;
     177            winMsg->wParam  = hittest;
    172178            winMsg->lParam  = MAKELONG(winMsg->pt.x, winMsg->pt.y); //screen coordinates
    173179        }
     
    199205      {
    200206        //WM_NCMOUSEMOVE is posted when the cursor moves into a non-client area of the window
    201         if(IsNCMouseMsg(win32wnd))
     207        hittest = win32wnd->MsgHitTest(winMsg->pt.x, winMsg->pt.y);
     208
     209        if (IsNCMouseMsg(win32wnd))
    202210        {
    203211          winMsg->message = WINWM_NCMOUSEMOVE;
    204           winMsg->wParam  = (WPARAM)win32wnd->lastHitTestVal;
     212          winMsg->wParam  = (WPARAM)hittest;
    205213          winMsg->lParam  = MAKELONG(winMsg->pt.x,winMsg->pt.y);
    206         } else
     214        }
     215        else
    207216        {
    208217          winMsg->message = WINWM_MOUSEMOVE;
     
    220229      }
    221230
    222       case WM_HITTEST:
     231      case WM_ACTIVATE:
    223232      {
    224         winMsg->message  = WINWM_NCHITTEST;
    225         winMsg->wParam  = 0;
    226         winMsg->lParam  = MAKELONG(winMsg->pt.x,winMsg->pt.y);
    227         return TRUE;
     233        winMsg->message = WINWM_NCACTIVATE;
     234        winMsg->wParam  = SHORT1FROMMP(os2Msg->mp1);
     235        return TRUE;
    228236      }
     237
    229238    }
    230239    //do normal translation for all other messages
     
    346355    case WM_BUTTON3DBLCLK:
    347356        //WM_NC*BUTTON* is posted when the cursor is in a non-client area of the window
     357        hittest = win32wnd->MsgHitTest(winMsg->pt.x, winMsg->pt.y);
     358
    348359        if(IsNCMouseMsg(win32wnd)) {
    349360            winMsg->message = WINWM_NCLBUTTONDOWN + (os2Msg->msg - WM_BUTTON1DOWN);
    350             winMsg->wParam  = win32wnd->lastHitTestVal;
     361            winMsg->wParam  = hittest;
    351362            winMsg->lParam  = MAKELONG(winMsg->pt.x, winMsg->pt.y); //screen coordinates
    352363        }
     
    378389    {
    379390        //WM_NCMOUSEMOVE is posted when the cursor moves into a non-client area of the window
     391        hittest = win32wnd->MsgHitTest(winMsg->pt.x, winMsg->pt.y);
     392
    380393        if(IsNCMouseMsg(win32wnd))
    381394        {
    382395          winMsg->message = WINWM_NCMOUSEMOVE;
    383           winMsg->wParam  = (WPARAM)win32wnd->lastHitTestVal;
     396          winMsg->wParam  = (WPARAM)hittest;
    384397          winMsg->lParam  = MAKELONG(winMsg->pt.x,winMsg->pt.y);
    385398        } else
     
    578591
    579592        if(wndParams->fsStatus & WPM_TEXT) {
    580             win32wnd->MsgSetText(wndParams->pszText, wndParams->cchText);
     593            winMsg->message = WINWM_SETTEXT;
     594            winMsg->lParam  = (LPARAM)wndParams->pszText;
    581595            break;
    582596        }
     
    612626        }
    613627        else    winMsg->message = WINWM_PAINT;
    614         break;
    615     }
    616 
    617     case WM_HITTEST:
    618     {
    619         winMsg->message  = WINWM_NCHITTEST;
    620         winMsg->wParam  = 0;
    621         winMsg->lParam  = MAKELONG(winMsg->pt.x,winMsg->pt.y);
    622628        break;
    623629    }
  • trunk/src/user32/new/pmframe.cpp

    r2381 r2400  
    1 /* $Id: pmframe.cpp,v 1.9 2000-01-09 14:14:23 cbratschi Exp $ */
     1/* $Id: pmframe.cpp,v 1.10 2000-01-10 23:29:13 sandervl Exp $ */
    22/*
    33 * Win32 Frame Managment Code for OS/2
     
    193193    }
    194194
    195     case WM_HITTEST:
    196     {
    197       DWORD res;
    198 
    199       // Only send this message if the window is enabled
    200       if (!win32wnd->IsWindowCreated())
    201         res = HT_NORMAL;
    202       else if (!WinIsWindowEnabled(hwnd))
    203         res = HT_ERROR;
    204       else if (win32wnd->getIgnoreHitTest())
    205         res = HT_NORMAL;
    206       else
    207       {
    208         dprintf(("PMFRAME: WM_HITTEST %x (%d,%d)",hwnd,(*(POINTS *)&mp1).x,(*(POINTS *)&mp1).y));
    209 
    210         //CB: WinWindowFromPoint: PM sends WM_HITTEST -> loop -> stack overflow
    211         win32wnd->setIgnoreHitTest(TRUE);
    212         res = win32wnd->MsgHitTest(pWinMsg);
    213         win32wnd->setIgnoreHitTest(FALSE);
    214       }
    215       RestoreOS2TIB();
    216       return (MRESULT)res;
    217     }
    218 
    219195    case WM_PAINT:
    220196    {
     
    383359            if (topOwner) WinSetWindowPos(topOwner->getOS2FrameWindowHandle(),hwnd,0,0,0,0,SWP_ZORDER);
    384360          }
    385         } else
     361        }
     362        else
    386363        {
    387364          WinSetWindowUShort(hwnd,QWS_FLAGS,mp1 ? (flags | FF_ACTIVE):(flags & ~FF_ACTIVE));
    388365        }
     366        if(win32wnd->IsWindowCreated())
     367          win32wnd->DispatchMsgA(pWinMsg);
    389368
    390369        RestoreOS2TIB();
  • trunk/src/user32/new/pmwindow.cpp

    r2335 r2400  
    1 /* $Id: pmwindow.cpp,v 1.33 2000-01-05 21:25:05 cbratschi Exp $ */
     1/* $Id: pmwindow.cpp,v 1.34 2000-01-10 23:29:13 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    9191     (PSZ)WIN32_STDCLASS,               /* Window class name            */
    9292     (PFNWP)Win32WindowProc,            /* Address of window procedure  */
    93      CS_HITTEST,
     93     0,
    9494     NROF_WIN32WNDBYTES)) {
    9595        dprintf(("WinRegisterClass Win32BaseWindow failed"));
     
    100100     (PSZ)WIN32_STDCLASS2,              /* Window class name            */
    101101     (PFNWP)Win32WindowProc,            /* Address of window procedure  */
    102      CS_HITTEST | CS_SAVEBITS,
     102     CS_SAVEBITS,
    103103     NROF_WIN32WNDBYTES)) {
    104104        dprintf(("WinRegisterClass Win32BaseWindow failed"));
     
    414414        win32wnd->DispatchMsgA(pWinMsg);
    415415        goto RunDefWndProc;
    416 
    417     case WM_HITTEST:
    418     {
    419       DWORD res;
    420 
    421       // Only send this message if the window is enabled
    422       if (!WinIsWindowEnabled(hwnd))
    423         res = HT_ERROR;
    424       else if (win32wnd->getIgnoreHitTest())
    425         res = HT_NORMAL;
    426       else
    427       {
    428         dprintf(("USER32: WM_HITTEST %x (%d,%d)",hwnd,(*(POINTS *)&mp1).x,(*(POINTS *)&mp1).y));
    429 
    430         //CB: WinWindowFromPoint: PM sends WM_HITTEST -> loop -> stack overflow
    431         win32wnd->setIgnoreHitTest(TRUE);
    432         res = win32wnd->MsgHitTest(pWinMsg);
    433         win32wnd->setIgnoreHitTest(FALSE);
    434       }
    435       RestoreOS2TIB();
    436       return (MRESULT)res;
    437     }
    438416
    439417    case WM_CONTEXTMENU:
  • trunk/src/user32/new/timer.cpp

    r2290 r2400  
    1 /* $Id: timer.cpp,v 1.1 2000-01-01 14:57:24 cbratschi Exp $ */
     1/* $Id: timer.cpp,v 1.2 2000-01-10 23:29:13 sandervl Exp $ */
    22
    33/*
     
    9999        return (FALSE);  /* forward message */
    100100
    101     if (!WinInSendMsg (GetThreadHAB()))
     101    if (!WinInSendMsg (GetThreadHAB())) {
     102        dprintf2(("TIMER_HandleTimer %x %x %x", pTimer->hwnd, pTimer->id, pMsg->time));
    102103        pTimer->proc (pTimer->hwnd, (pTimer->inUse == TIMER::SystemTimer) ? WM_SYSTIMER_W:WM_TIMER_W, pTimer->id, pMsg->time);
    103 
     104    }
    104105    return (TRUE);
    105106}
     
    221222    UINT rc;
    222223
    223     dprintf(("USER32: SetTimer %04x %d %d %08lx", hwnd, id, timeout, (LONG)proc));
     224    dprintf(("USER32: SetTimer %x %d %d %08lx", hwnd, id, timeout, (LONG)proc));
    224225
    225226    rc = TIMER_SetTimer (hwnd, id, timeout, proc, FALSE);
     
    247248    BOOL rc;
    248249
    249     dprintf(("USER32: KillTimer %04x %d", hwnd, id));
     250    dprintf(("USER32: KillTimer %x %d", hwnd, id));
    250251
    251252    rc = TIMER_KillTimer (hwnd, id, FALSE);
     
    260261    BOOL rc;
    261262
    262     dprintf(("USER32: KillSystemTimer %04x %d", hwnd, id));
     263    dprintf(("USER32: KillSystemTimer %x %d", hwnd, id));
    263264
    264265    rc = TIMER_KillTimer (hwnd, id, TRUE);
  • trunk/src/user32/new/win32wbase.cpp

    r2396 r2400  
    1 /* $Id: win32wbase.cpp,v 1.28 2000-01-10 17:18:09 cbratschi Exp $ */
     1/* $Id: win32wbase.cpp,v 1.29 2000-01-10 23:29:14 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    217217  isIcon           = FALSE;
    218218  lastHitTestVal   = HTOS_NORMAL;
    219   fIgnoreHitTest   = FALSE;
    220219  owner            = NULL;
    221220  windowClass      = 0;
     
    879878//******************************************************************************
    880879//******************************************************************************
    881 ULONG Win32BaseWindow::MsgHitTest(MSG *msg)
    882 {
    883   lastHitTestVal = SendInternalMessageA(WM_NCHITTEST,msg->wParam,msg->lParam);
    884   dprintf2(("MsgHitTest returned %x", lastHitTestVal));
    885 
    886   if (lastHitTestVal == HTERROR)
    887     return HTOS_ERROR;
    888 
    889 #if 0 //CB: problems with groupboxes, internal handling is better
    890   if (lastHitTestVal == HTTRANSPARENT)
    891     return HTOS_TRANSPARENT;
    892 #endif
    893 
    894   return HTOS_NORMAL;
     880ULONG Win32BaseWindow::MsgHitTest(ULONG x, ULONG y)
     881{
     882  lastHitTestVal = SendInternalMessageA(WM_NCHITTEST, 0, MAKELONG((USHORT)x, (USHORT)y));
     883  dprintf2(("MsgHitTest (%d,%d) (%d,%d) (%d,%d) returned %x", x, y, rectWindow.left, rectWindow.right, rectWindow.top, rectWindow.bottom, lastHitTestVal));
     884  return lastHitTestVal;
    895885}
    896886//******************************************************************************
     
    30933083        window = parentwindow;
    30943084   }
     3085}
     3086//******************************************************************************
     3087//******************************************************************************
     3088HMENU Win32BaseWindow::GetSystemMenu(BOOL fRevert)
     3089{
     3090    if(fRevert == FALSE)
     3091    {
     3092            if(hSysMenu) {
     3093                DestroyMenu(hSysMenu);
     3094            }
     3095            hSysMenu = LoadMenuA(GetModuleHandleA("USER32"), (LPCSTR)"SYSMENU");
     3096            return hSysMenu;
     3097        }
     3098        else {//revert back to default system menu
     3099            if(hSysMenu) {
     3100                DestroyMenu(hSysMenu);
     3101                hSysMenu = 0;
     3102            }
     3103            return 0;
     3104    }
    30953105}
    30963106//******************************************************************************
     
    37673777//******************************************************************************
    37683778//******************************************************************************
    3769 BOOL Win32BaseWindow::GetWindowRect(PRECT pRect)
    3770 {
    3771     return OSLibWinQueryWindowRect(OS2HwndFrame, pRect, RELATIVE_TO_SCREEN);
    3772 }
    3773 //******************************************************************************
    3774 //******************************************************************************
    37753779BOOL Win32BaseWindow::hasWindowName(LPSTR wndname, BOOL fUnicode)
    37763780{
  • trunk/src/user32/new/win32wbase.h

    r2396 r2400  
    1 /* $Id: win32wbase.h,v 1.21 2000-01-10 17:18:10 cbratschi Exp $ */
     1/* $Id: win32wbase.h,v 1.22 2000-01-10 23:29:15 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    8484         ULONG  MsgEraseBackGround(HDC hdc);
    8585         ULONG  MsgInitMenu(MSG *msg);
    86          ULONG  MsgHitTest(MSG *msg);
     86         ULONG  MsgHitTest(ULONG x, ULONG y);
    8787         ULONG  MsgNCPaint();
    8888         ULONG  MsgFormatFrame();
     
    113113
    114114         LONG   getLastHitTestVal()             { return lastHitTestVal; }
    115          BOOL   getIgnoreHitTest()              { return fIgnoreHitTest; }
    116          VOID   setIgnoreHitTest(BOOL ignore)   { fIgnoreHitTest = ignore; }
    117115
    118116         DWORD  getWindowContextHelpId()        { return contextHelpId; };
     
    162160         HMENU  GetMenu()                           { return hMenu; };
    163161         VOID   SetMenu(HMENU newMenu)              { hMenu = newMenu; };
    164          HMENU  GetSysMenu()                        { return hSysMenu; };
    165          VOID   SetSysMenu(HMENU newSysMenu)        { hSysMenu = newSysMenu; };
     162         HMENU  GetSystemMenu(BOOL fRevert);
     163         HMENU  getSystemMenu()                     { return hSysMenu; }
    166164
    167165         BOOL   SetIcon(HICON hIcon);
     
    205203         BOOL   IsWindowUnicode();
    206204
    207          BOOL   GetWindowRect(PRECT pRect);
    208205         int    GetWindowTextLength();
    209206         int    GetWindowTextA(LPSTR lpsz, int cch);
     
    300297        DWORD   contextHelpId;
    301298        LONG    lastHitTestVal;         //Last value returned by WM_NCHITTEST handler
    302         BOOL    fIgnoreHitTest;         //Use WinWindowFromPoint during WM_HITTEST
    303299
    304300        BOOL    isIcon;
  • trunk/src/user32/new/win32wmdiclient.cpp

    r2292 r2400  
    1 /* $Id: win32wmdiclient.cpp,v 1.9 2000-01-02 19:30:46 cbratschi Exp $ */
     1/* $Id: win32wmdiclient.cpp,v 1.10 2000-01-10 23:29:15 sandervl Exp $ */
    22/*
    33 * Win32 MDI Client Window Class for OS/2
     
    833833BOOL Win32MDIClientWindow::augmentFrameMenu(Win32MDIChildWindow *child)
    834834{
    835   HMENU   hSysPopup = 0,hFrameMenu = ::GetMenu(getParent()->getWindowHandle()),hSysMenu = GetSystemMenu(child->getWindowHandle(),FALSE);
     835  HMENU   hSysPopup = 0,hFrameMenu = ::GetMenu(getParent()->getWindowHandle()),hSysMenu = ::GetSystemMenu(child->getWindowHandle(),FALSE);
    836836  HBITMAP hSysMenuBitmap = 0;
    837837
  • trunk/src/user32/new/window.cpp

    r2292 r2400  
    1 /* $Id: window.cpp,v 1.28 2000-01-02 19:30:46 cbratschi Exp $ */
     1/* $Id: window.cpp,v 1.29 2000-01-10 23:29:15 sandervl Exp $ */
    22/*
    33 * Win32 window apis for OS/2
     
    648648        return 0;
    649649    }
    650     rc = window->GetWindowRect(pRect);
     650    if(pRect == NULL) {
     651        SetLastError(ERROR_INVALID_PARAMETER);
     652        return 0;
     653    }
     654    *pRect = *window->getWindowRect();
    651655    dprintf(("GetWindowRect %x (%d,%d) (%d,%d)", hwnd, pRect->left, pRect->top, pRect->right, pRect->bottom));
    652656    return rc;
  • trunk/src/user32/oslibmsg.cpp

    r2378 r2400  
    1 /* $Id: oslibmsg.cpp,v 1.23 2000-01-08 16:53:38 sandervl Exp $ */
     1/* $Id: oslibmsg.cpp,v 1.24 2000-01-10 23:29:11 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    183183        }
    184184        //SvL: Don't dispatch messages sent by PostThreadMessage (correct??)
     185        //     Or WM_TIMER msgs with no window handle or timer proc
    185186        return 0;
    186187
     
    219220        MsgThreadPtr->msg  = 0;
    220221        MsgThreadPtr->hwnd = 0;
    221         return TRUE;
     222        return (pMsg->message == WINWM_QUIT);
    222223  }
    223224
     
    276277        }
    277278        memcpy(pMsg, &thdb->msgWCHAR, sizeof(MSG));
    278         return TRUE;
     279        return (pMsg->message == WINWM_QUIT);
    279280  }
    280281continuepeekmsg:
  • trunk/src/user32/oslibmsgtranslate.cpp

    r2391 r2400  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.12 2000-01-09 17:57:47 sandervl Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.13 2000-01-10 23:29:11 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    125125  }
    126126  //PostThreadMessage posts WIN32APP_POSTMSG msg without window handle
    127   if(win32wnd == 0 && (os2Msg->msg != WM_CREATE && os2Msg->msg != WM_QUIT && os2Msg->msg != WIN32APP_POSTMSG))
     127  //Realplayer starts a timer with hwnd 0 & proc 0; check this here
     128  if(win32wnd == 0 && (os2Msg->msg != WM_CREATE && os2Msg->msg != WM_QUIT && os2Msg->msg != WM_TIMER && os2Msg->msg != WIN32APP_POSTMSG))
    128129  {
    129130        goto dummymessage; //not a win32 client window
  • trunk/src/user32/timer.cpp

    r2099 r2400  
    1 /* $Id: timer.cpp,v 1.7 1999-12-17 17:18:03 cbratschi Exp $ */
     1/* $Id: timer.cpp,v 1.8 2000-01-10 23:29:11 sandervl Exp $ */
    22
    33/*
     
    9999        return (FALSE);  /* forward message */
    100100
    101     if (!WinInSendMsg (GetThreadHAB()))
     101    if (!WinInSendMsg (GetThreadHAB())) {
     102        dprintf2(("TIMER_HandleTimer %x %x %x", pTimer->hwnd, pTimer->id, pMsg->time));
    102103        pTimer->proc (pTimer->hwnd, (pTimer->inUse == TIMER::SystemTimer) ? WM_SYSTIMER_W:WM_TIMER_W, pTimer->id, pMsg->time);
    103 
     104    }
    104105    return (TRUE);
    105106}
     
    221222    UINT rc;
    222223
    223     dprintf(("USER32: SetTimer %04x %d %d %08lx", hwnd, id, timeout, (LONG)proc));
     224    dprintf(("USER32: SetTimer %x %d %d %08lx", hwnd, id, timeout, (LONG)proc));
    224225
    225226    rc = TIMER_SetTimer (hwnd, id, timeout, proc, FALSE);
     
    247248    BOOL rc;
    248249
    249     dprintf(("USER32: KillTimer %04x %d", hwnd, id));
     250    dprintf(("USER32: KillTimer %x %d", hwnd, id));
    250251
    251252    rc = TIMER_KillTimer (hwnd, id, FALSE);
     
    260261    BOOL rc;
    261262
    262     dprintf(("USER32: KillSystemTimer %04x %d", hwnd, id));
     263    dprintf(("USER32: KillSystemTimer %x %d", hwnd, id));
    263264
    264265    rc = TIMER_KillTimer (hwnd, id, TRUE);
  • trunk/src/user32/win32wbase.cpp

    r2391 r2400  
    1 /* $Id: win32wbase.cpp,v 1.138 2000-01-09 17:57:48 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.139 2000-01-10 23:29:11 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    20072007    if(!fOS2Look) {
    20082008        if(fRevert == FALSE) {
     2009            if(hSysMenu) {
     2010                DestroyMenu(hSysMenu);
     2011            }
    20092012            OS2SysMenu = LoadMenuA(hInstanceUser32, (LPCSTR)"SYSMENU");
    20102013            if(OS2SysMenu) {
Note: See TracChangeset for help on using the changeset viewer.