From b7d2a31c695dfceab6d029dc9088e3aff50137d4 Mon Sep 17 00:00:00 2001 From: Cary Sandvig Date: Wed, 6 Dec 2000 22:52:42 +0000 Subject: [PATCH] more refcounting --- panda/src/audio/audio_manager.h | 2 +- panda/src/audio/audio_pool.I | 7 ++----- panda/src/audio/audio_sound.h | 8 +++----- panda/src/audio/test_audio.cxx | 9 +++++---- 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/panda/src/audio/audio_manager.h b/panda/src/audio/audio_manager.h index f5c9d94388..8e10f1bf7e 100644 --- a/panda/src/audio/audio_manager.h +++ b/panda/src/audio/audio_manager.h @@ -32,7 +32,7 @@ private: typedef void UpdateFunc(void); typedef void ShutdownFunc(void); - typedef set LoopSet; + typedef set LoopSet; static AudioManager* _global_ptr; static UpdateFunc* _update_func; static ShutdownFunc* _shutdown_func; diff --git a/panda/src/audio/audio_pool.I b/panda/src/audio/audio_pool.I index 94b76e66a9..bdebf89869 100644 --- a/panda/src/audio/audio_pool.I +++ b/panda/src/audio/audio_pool.I @@ -24,11 +24,8 @@ INLINE bool AudioPool::has_sound(const string& filename) { // return a valid AudioSound pointer. //////////////////////////////////////////////////////////////////// INLINE bool AudioPool::verify_sound(const string& filename) { - AudioSound* foo = load_sound(filename); - bool ret = foo != (AudioSound*)0L; - if (ret) - delete foo; - return ret; + PT(AudioSound) foo = load_sound(filename); + return !(foo.is_null()); } //////////////////////////////////////////////////////////////////// diff --git a/panda/src/audio/audio_sound.h b/panda/src/audio/audio_sound.h index 307623185f..00bd76113e 100644 --- a/panda/src/audio/audio_sound.h +++ b/panda/src/audio/audio_sound.h @@ -7,9 +7,7 @@ #define __AUDIO_SOUND_H__ #include "audio_trait.h" -/* -#include "typedReferenceCount.h" -*/ +#include #include #include #include @@ -19,9 +17,9 @@ class AudioPool; class AudioManager; /* -class EXPCL_PANDA AudioSound : public TypedReferenceCount, public Namable { -*/ class EXPCL_PANDA AudioSound : public TypedObject, public Namable { +*/ +class EXPCL_PANDA AudioSound : public TypedReferenceCount, public Namable { private: PT(AudioTraits::SoundClass) _sound; AudioTraits::PlayingClass *_state; diff --git a/panda/src/audio/test_audio.cxx b/panda/src/audio/test_audio.cxx index 172e5098d2..3ab924050f 100644 --- a/panda/src/audio/test_audio.cxx +++ b/panda/src/audio/test_audio.cxx @@ -18,10 +18,11 @@ main(int argc, char* argv[]) { } { - AudioSound* tester = AudioPool::load_sound(argv[1]); - AudioPool::release_all_sounds(); - cerr << "all sounds but 1 released" << endl; - delete tester; + { + PT(AudioSound) tester = AudioPool::load_sound(argv[1]); + AudioPool::release_all_sounds(); + cerr << "all sounds but 1 released" << endl; + } cerr << "all sounds released" << endl; }