Ignore:
Timestamp:
Oct 23, 1999, 6:45:24 PM (26 years ago)
Author:
cbratschi
Message:

GetSystemMetrics, timer and scrollbar fixes

File:
1 edited

Legend:

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

    r1405 r1418  
    1 /* $Id: timer.cpp,v 1.5 1999-10-22 18:11:47 sandervl Exp $ */
     1/* $Id: timer.cpp,v 1.6 1999-10-23 16:45:21 cbratschi Exp $ */
    22
    33/*
     
    2727#endif
    2828
    29 #define WM_TIMER_W 0x0113
     29#define WM_TIMER_W    0x0113
     30#define WM_SYSTIMER_W 0x0118
    3031typedef VOID (CALLBACK *TIMERPROC)(HWND hwnd, UINT msg, UINT id, DWORD dwTime);
    3132
     
    6263}
    6364
     65BOOL TIMER_GetTimerInfo(HWND PMhwnd,ULONG PMid,PBOOL sys,PULONG id)
     66{
     67  int i;
     68  TIMER *pTimer;
     69
     70  for (i = 0, pTimer = TimersArray; i < NB_TIMERS; i++, pTimer++)
     71      if (pTimer->inUse && (pTimer->PMhwnd == PMhwnd) && (pTimer->PMid == PMid))
     72          break;
     73
     74  if (i == NB_TIMERS)  /* no matching timer found */
     75      return (FALSE);  /* forward message */
     76
     77  *sys = pTimer->inUse == TIMER::SystemTimer;
     78  *id  = pTimer->id;
     79
     80  return TRUE;
     81}
     82
    6483BOOL TIMER_HandleTimer (PQMSG pMsg)
    6584{
     
    7695        return (FALSE);  /* forward message */
    7796
    78     pMsg->mp1 = MPFROMLONG (pTimer->id);
    7997    pMsg->mp2 = MPFROMLONG (TRUE);   /* mark for Win32 */
    8098    if (!pTimer->proc)
     
    82100
    83101    if (!WinInSendMsg (GetThreadHAB()))
    84         pTimer->proc (pTimer->hwnd, WM_TIMER_W, pTimer->id, pMsg->time);
     102        pTimer->proc (pTimer->hwnd, (pTimer->inUse == TIMER::SystemTimer) ? WM_SYSTIMER_W:WM_TIMER_W, pTimer->id, pMsg->time);
    85103
    86104    return (TRUE);
     
    100118
    101119    for (i = 0, pTimer = TimersArray; i < NB_TIMERS; i++, pTimer++)
    102         if (pTimer->inUse && (pTimer->hwnd == hwnd) && (pTimer->id == id))
     120        if (pTimer->inUse && (pTimer->hwnd == hwnd) && (pTimer->id == id) && ((sys && pTimer->inUse == TIMER::SystemTimer) || !sys))
    103121            break;
    104122
     
    151169    for (i = 0, pTimer = TimersArray; i < NB_TIMERS; i++, pTimer++)
    152170        if (pTimer->inUse &&
    153             (pTimer->hwnd == hwnd) && (pTimer->id == id)) break;
     171            (pTimer->hwnd == hwnd) && (pTimer->id == id) && ((sys && pTimer->inUse == TIMER::SystemTimer) || !sys)) break;
    154172
    155173    if ((i >= NB_TIMERS) ||
Note: See TracChangeset for help on using the changeset viewer.