diff options
Diffstat (limited to 'intern/audaspace/FX/AUD_PingPongFactory.cpp')
-rw-r--r-- | intern/audaspace/FX/AUD_PingPongFactory.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/intern/audaspace/FX/AUD_PingPongFactory.cpp b/intern/audaspace/FX/AUD_PingPongFactory.cpp index fa140555943..e5f2193ea56 100644 --- a/intern/audaspace/FX/AUD_PingPongFactory.cpp +++ b/intern/audaspace/FX/AUD_PingPongFactory.cpp @@ -33,26 +33,16 @@ #include "AUD_DoubleReader.h" #include "AUD_ReverseFactory.h" -AUD_PingPongFactory::AUD_PingPongFactory(AUD_IFactory* factory) : +AUD_PingPongFactory::AUD_PingPongFactory(AUD_Reference<AUD_IFactory> factory) : AUD_EffectFactory(factory) { } -AUD_IReader* AUD_PingPongFactory::createReader() const +AUD_Reference<AUD_IReader> AUD_PingPongFactory::createReader() { - AUD_IReader* reader = getReader(); - AUD_IReader* reader2; + AUD_Reference<AUD_IReader> reader = getReader(); AUD_ReverseFactory factory(m_factory); - - try - { - reader2 = factory.createReader(); - } - catch(AUD_Exception&) - { - delete reader; - throw; - } + AUD_Reference<AUD_IReader> reader2 = factory.createReader(); return new AUD_DoubleReader(reader, reader2); } |