Skip to content

Commit

Permalink
Steven Noonan 2008-05-13 13:31:36 PDT
Browse files Browse the repository at this point in the history
I've just recently tested my application compiled for x86_64 (AMD64, x64,
whatever you want to call it). Unfortunately there's one flaw in SDL_mixer
which causes a pointer truncation and subsequent memory access violation and
crash.
  • Loading branch information
slouken committed Sep 26, 2009
1 parent 904bd7c commit bde619e
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions native_midi/native_midi_win32.c
Expand Up @@ -158,17 +158,17 @@ static void MIDItoStream(NativeMidiSong *song, MIDIEvent *evntlist)
song->MusicLoaded=1;
}

void CALLBACK MidiProc( HMIDIIN hMidi, UINT uMsg, DWORD dwInstance,
DWORD dwParam1, DWORD dwParam2 )
void CALLBACK MidiProc( HMIDIIN hMidi, UINT uMsg, DWORD_PTR dwInstance,
DWORD_PTR dwParam1, DWORD_PTR dwParam2 )
{
switch( uMsg )
{
case MOM_DONE:
if ((currentsong->MusicLoaded) && ((DWORD)dwParam1 == (DWORD)&currentsong->MidiStreamHdr))
if ((currentsong->MusicLoaded) && (dwParam1 == (DWORD_PTR)&currentsong->MidiStreamHdr))
BlockOut(currentsong);
break;
case MOM_POSITIONCB:
if ((currentsong->MusicLoaded) && ((DWORD)dwParam1 == (DWORD)&currentsong->MidiStreamHdr))
if ((currentsong->MusicLoaded) && (dwParam1 == (DWORD_PTR)&currentsong->MidiStreamHdr))
currentsong->MusicPlaying=0;
break;
default:
Expand All @@ -181,7 +181,7 @@ int native_midi_detect()
MMRESULT merr;
HMIDISTRM MidiStream;

merr=midiStreamOpen(&MidiStream,&MidiDevice,1,(DWORD)&MidiProc,0,CALLBACK_FUNCTION);
merr=midiStreamOpen(&MidiStream,&MidiDevice,(DWORD)1,(DWORD_PTR)MidiProc,(DWORD_PTR)0,CALLBACK_FUNCTION);
if (merr!=MMSYSERR_NOERROR)
MidiStream=0;
midiStreamClose(MidiStream);
Expand Down

0 comments on commit bde619e

Please sign in to comment.