Ignore:
Timestamp:
Dec 29, 1999, 9:36:10 AM (26 years ago)
Author:
phaller
Message:

Fix: memory leak in Dart thread callback functions

File:
1 edited

Legend:

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

    r2168 r2242  
    1 /* $Id: waveout.cpp,v 1.7 1999-12-20 22:22:07 sandervl Exp $ */
     1/* $Id: waveout.cpp,v 1.8 1999-12-29 08:33:56 phaller Exp $ */
    22#undef DEBUG
    33/*
     
    3434/******************************************************************************/
    3535/******************************************************************************/
    36 ODINFUNCTION6(MMRESULT, waveOutOpen,
    37               LPHWAVEOUT, phwo,
    38               UINT, uDeviceID,
    39               const LPWAVEFORMATEX, pwfx,
    40               DWORD, dwCallback,
    41               DWORD, dwInstance,
    42               DWORD, fdwOpen)
     36
     37//@@@PH 1999/12/28 this function needs the win32 tib FS selector for callback purposes
     38//                 therefore, one cannot use ODINFUNCTION macro wrappers! The xxxFS
     39//                 macro passes in USHORT selFS as first parameter.
     40ODINFUNCTION6FS(MMRESULT, waveOutOpen,
     41                LPHWAVEOUT, phwo,
     42                UINT, uDeviceID,
     43                const LPWAVEFORMATEX, pwfx,
     44                DWORD, dwCallback,
     45                DWORD, dwInstance,
     46                DWORD, fdwOpen)
    4347{
    4448  MMRESULT rc;
     
    6266  }
    6367  else
    64   if(fdwOpen == CALLBACK_FUNCTION) {
    65         *phwo = (HWAVEOUT)new DartWaveOut(pwfx, dwCallback, dwInstance);
     68  if(fdwOpen == CALLBACK_FUNCTION)
     69  {
     70    //@@@PH 1999/12/28 save valid FS: to win32 TIB
     71        *phwo = (HWAVEOUT)new DartWaveOut(pwfx, dwCallback, dwInstance, selFS);
    6672  }
    6773  else  *phwo = (HWAVEOUT)new DartWaveOut(pwfx);
Note: See TracChangeset for help on using the changeset viewer.