diff options
Diffstat (limited to 'intern/audaspace/FX/AUD_SuperposeFactory.cpp')
-rw-r--r-- | intern/audaspace/FX/AUD_SuperposeFactory.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/intern/audaspace/FX/AUD_SuperposeFactory.cpp b/intern/audaspace/FX/AUD_SuperposeFactory.cpp index c13a0d0dd95..d514bfd8fca 100644 --- a/intern/audaspace/FX/AUD_SuperposeFactory.cpp +++ b/intern/audaspace/FX/AUD_SuperposeFactory.cpp @@ -32,24 +32,15 @@ #include "AUD_SuperposeFactory.h" #include "AUD_SuperposeReader.h" -AUD_SuperposeFactory::AUD_SuperposeFactory(AUD_IFactory* factory1, AUD_IFactory* factory2) : +AUD_SuperposeFactory::AUD_SuperposeFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2) : m_factory1(factory1), m_factory2(factory2) { } -AUD_IReader* AUD_SuperposeFactory::createReader() const +AUD_Reference<AUD_IReader> AUD_SuperposeFactory::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_SuperposeReader(reader1, reader2); } |