PKGBUILDs/community/panda3d/fix-variable.patch
2009-10-09 21:15:33 -05:00

19 lines
904 B
Diff

--- panda/src/audiotraits/fmodAudioSound.cxx 2008/05/28 18:37:28 1.31
+++ panda/src/audiotraits/fmodAudioSound.cxx 2008/09/03 14:39:09 1.32
@@ -311,10 +311,13 @@
}
if (_channel == 0) {
-
+ // This is because setCallback expects an integer
+ // but 64-bits pointers wont fit in a 32-bits int.
+ nassertv_always((intptr_t)this < UINT_MAX);
+
result = _manager->_system->playSound(FMOD_CHANNEL_FREE, _sound, true, &_channel);
fmod_audio_errcheck("_system->playSound()", result);
- result = _channel->setCallback(FMOD_CHANNEL_CALLBACKTYPE_END, sound_end_callback, (int)this);
+ result = _channel->setCallback(FMOD_CHANNEL_CALLBACKTYPE_END, sound_end_callback, (intptr_t)this);
fmod_audio_errcheck("_channel->setCallback()", result);
result = _channel->setPosition( startTime , FMOD_TIMEUNIT_MS );
fmod_audio_errcheck("_channel->setPosition()", result);