summaryrefslogtreecommitdiff
path: root/src/backend/rendering/ctextrendering.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/rendering/ctextrendering.cpp')
-rw-r--r--src/backend/rendering/ctextrendering.cpp37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/backend/rendering/ctextrendering.cpp b/src/backend/rendering/ctextrendering.cpp
index 5fce14b..645b5d6 100644
--- a/src/backend/rendering/ctextrendering.cpp
+++ b/src/backend/rendering/ctextrendering.cpp
@@ -7,24 +7,22 @@
*
**********/
-#include "ctextrendering.h"
+#include "backend/rendering/ctextrendering.h"
-//BibleTime
+#include <boost/scoped_ptr.hpp>
+
+#include <QRegExp>
+#include <QtAlgorithms>
+
+#include "backend/drivers/cswordmoduleinfo.h"
#include "backend/keys/cswordkey.h"
#include "backend/keys/cswordversekey.h"
-#include "backend/drivers/cswordmoduleinfo.h"
#include "backend/managers/cdisplaytemplatemgr.h"
-#include "backend/managers/creferencemanager.h"
+#include "backend/managers/referencemanager.h"
-#include <boost/scoped_ptr.hpp>
-#include "util/ctoolclass.h"
-
-//Sword
+// Sword includes:
#include <swkey.h>
-//Qt
-#include <QRegExp>
-
using namespace Rendering;
@@ -229,8 +227,11 @@ const QString CTextRendering::renderKeyRange( const QString& start, const QStrin
//make sure the key given by highlightKey gets marked as current key
settings.highlight = (!highlightKey.isEmpty() ? (vk_start->key() == highlightKey) : false);
- /*TODO: We need to take care of linked verses if we render one or (esp) more modules
- If the verses 2,3,4,5 are linked to 1, it should be displayed as one entry with the caption 1-5 */
+ /**
+ \todo We need to take care of linked verses if we render one or
+ (esp) more modules. If the verses 2,3,4,5 are linked to 1,
+ it should be displayed as one entry with the caption 1-5.
+ */
if (vk_start->Chapter() == 0) { //range was 0:0-1:x, render 0:0 first and jump to 1:0
vk_start->Verse(0);
@@ -238,12 +239,12 @@ const QString CTextRendering::renderKeyRange( const QString& start, const QStrin
vk_start->Chapter(1);
vk_start->Verse(0);
}
- /// \bug Valgrind reports memory leak with allocation:
tree.append( new KeyTreeItem(vk_start->key(), modules, settings) );
ok = vk_start->next(CSwordVerseKey::UseVerse);
}
-
- return renderKeyTree(tree);
+ const QString renderedText = renderKeyTree(tree);
+ qDeleteAll(tree);
+ return renderedText;
}
return QString::null;
@@ -253,7 +254,9 @@ const QString CTextRendering::renderSingleKey( const QString& key, const QList<C
KeyTree tree;
tree.append( new KeyTreeItem(key, moduleList, settings) );
- return renderKeyTree(tree);
+ const QString renderedText = renderKeyTree(tree);
+ qDeleteAll(tree);
+ return renderedText;
}