Ignore:
Timestamp:
Oct 13, 2003, 11:18:38 AM (22 years ago)
Author:
sandervl
Message:

Make sure the timer object is not deleted inside the timer callback handler

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/winmm/waveinoutbase.cpp

    r9902 r10269  
    1 /* $Id: waveinoutbase.cpp,v 1.6 2003-03-05 14:49:04 sandervl Exp $ */
     1/* $Id: waveinoutbase.cpp,v 1.7 2003-10-13 09:18:38 sandervl Exp $ */
    22
    33/*
     
    100100void WaveInOut::callback(UINT uMessage, DWORD dw1, DWORD dw2)
    101101{
    102     dprintf(("WINMM:WaveInOut::callback type %x (HDRVR h=%08xh, UINT uMessage=%08xh, DWORD dwUser=%08xh, DWORD dw1=%08xh, DWORD dw2=%08xh)\n",
    103              fdwOpen, this, uMessage, dwInstance, dw1, dw2));
     102    dprintf(("WINMM:WaveInOut::callback type %x, callback 0x%x (HDRVR h=%08xh, UINT uMessage=%08xh, DWORD dwUser=%08xh, DWORD dw1=%08xh, DWORD dw2=%08xh)",
     103             fdwOpen, dwCallback, this, uMessage, dwInstance, dw1, dw2));
    104104
    105105    switch(fdwOpen & CALLBACK_TYPEMASK) {
     
    118118        LPDRVCALLBACK mthdCallback = (LPDRVCALLBACK)dwCallback;
    119119
    120         selCallback = GetProcessTIBSel();
     120        if(selTIB == SELECTOR_OS2_FS) {
     121             selCallback = GetProcessTIBSel();
     122        }
     123        else selCallback = selTIB;
    121124
    122125        //TODO: may not be very safe. perhaps we should allocate a new TIB for the DART thread or let another thread do the actual callback
     
    125128            SetFS(selCallback);      // switch to callback win32 tib selector (stored in WaveInOutOpen)
    126129
    127             //@@@PH 1999/12/28 Shockwave Flashes seem to make assumptions on a
     130            //@@@PH 1999/12/28 Shockwave Flash seem to make assumptions on a
    128131            // specific stack layout. Do we have the correct calling convention here?
    129132            mthdCallback((HDRVR)this, uMessage, dwInstance, dw1, dw2);
Note: See TracChangeset for help on using the changeset viewer.