Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Mueller <nexyon@gmail.com>2010-07-28 13:36:03 +0400
committerJoerg Mueller <nexyon@gmail.com>2010-07-28 13:36:03 +0400
commit7296600434c49b40215ba842af73a8b1517e12eb (patch)
treeba41a61f147073c91cf370c1f470b7c519397766 /intern/audaspace/FX/AUD_DoubleFactory.cpp
parent3e3f874a65e9c20353fdc26a20a2f5da9b41e90e (diff)
Audaspace: HUGE Refactor.
Some points of the refactor not sorted by importance: * Fixed immutability of readers and factories (there are exceptions...) * Fixed copy constructors and = operators * Removed messaging system * Removed reader types * Added const where possible * Using initalisers when possible * Avoided use of pointers when possible * Removed AUD_NEW and AUD_DELETE macros * Removed useless NULL pointer checks * Fixed exception catching * Fixed some yet unknown bugs * Lots of other stuff
Diffstat (limited to 'intern/audaspace/FX/AUD_DoubleFactory.cpp')
-rw-r--r--intern/audaspace/FX/AUD_DoubleFactory.cpp19
1 files changed, 7 insertions, 12 deletions
diff --git a/intern/audaspace/FX/AUD_DoubleFactory.cpp b/intern/audaspace/FX/AUD_DoubleFactory.cpp
index 402d884be9f..9f625d0763f 100644
--- a/intern/audaspace/FX/AUD_DoubleFactory.cpp
+++ b/intern/audaspace/FX/AUD_DoubleFactory.cpp
@@ -27,29 +27,24 @@
#include "AUD_DoubleReader.h"
AUD_DoubleFactory::AUD_DoubleFactory(AUD_IFactory* factory1, AUD_IFactory* factory2) :
- m_factory1(factory1), m_factory2(factory2) {}
+ m_factory1(factory1), m_factory2(factory2)
+{
+}
-AUD_IReader* AUD_DoubleFactory::createReader()
+AUD_IReader* AUD_DoubleFactory::createReader() const
{
AUD_IReader* reader1 = m_factory1->createReader();
- if(!reader1)
- return 0;
AUD_IReader* reader2;
+
try
{
reader2 = m_factory2->createReader();
- if(!reader2)
- {
- delete reader1; AUD_DELETE("reader")
- return 0;
- }
}
catch(AUD_Exception&)
{
- delete reader1; AUD_DELETE("reader")
+ delete reader1;
throw;
}
- AUD_IReader* reader = new AUD_DoubleReader(reader1, reader2);
- return reader;
+ return new AUD_DoubleReader(reader1, reader2);
}