diff options
Diffstat (limited to 'intern/audaspace/FX/AUD_DoubleFactory.cpp')
-rw-r--r-- | intern/audaspace/FX/AUD_DoubleFactory.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/intern/audaspace/FX/AUD_DoubleFactory.cpp b/intern/audaspace/FX/AUD_DoubleFactory.cpp index 7a40f1f8c96..e1e6ba50435 100644 --- a/intern/audaspace/FX/AUD_DoubleFactory.cpp +++ b/intern/audaspace/FX/AUD_DoubleFactory.cpp @@ -32,25 +32,15 @@ #include "AUD_DoubleFactory.h" #include "AUD_DoubleReader.h" -AUD_DoubleFactory::AUD_DoubleFactory(AUD_IFactory* factory1, AUD_IFactory* factory2) : +AUD_DoubleFactory::AUD_DoubleFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2) : m_factory1(factory1), m_factory2(factory2) { } -AUD_IReader* AUD_DoubleFactory::createReader() const +AUD_Reference<AUD_IReader> AUD_DoubleFactory::createReader() { - AUD_IReader* reader1 = m_factory1->createReader(); - AUD_IReader* reader2; - - try - { - reader2 = m_factory2->createReader(); - } - catch(AUD_Exception&) - { - delete reader1; - throw; - } + AUD_Reference<AUD_IReader> reader1 = m_factory1->createReader(); + AUD_Reference<AUD_IReader> reader2 = m_factory2->createReader(); return new AUD_DoubleReader(reader1, reader2); } |