diff --git a/src/misc.cpp b/src/misc.cpp
index 3f2fa27aa..1504d89db 100644
--- a/src/misc.cpp
+++ b/src/misc.cpp
@@ -505,7 +505,8 @@ bool misc::isUrl(const QString &s)
QString misc::parseHtmlLinks(const QString &raw_text)
{
QString result = raw_text;
- QRegExp reURL("(\\s|^)" //start with whitespace or beginning of line
+ static QRegExp reURL(
+ "(\\s|^)" //start with whitespace or beginning of line
"("
"(" //case 1 -- URL with scheme
"(http(s?))\\://" //start with scheme
@@ -556,7 +557,7 @@ QString misc::parseHtmlLinks(const QString &raw_text)
result.replace(reURL, "\\1\\2");
// Capture links without scheme
- QRegExp reNoScheme("");
+ static QRegExp reNoScheme("");
result.replace(reNoScheme, "");
return result;
diff --git a/src/torrentcontentmodel.cpp b/src/torrentcontentmodel.cpp
index baf233a4e..97e8242b3 100644
--- a/src/torrentcontentmodel.cpp
+++ b/src/torrentcontentmodel.cpp
@@ -37,6 +37,18 @@
#include "torrentcontentmodelfile.h"
#include
+namespace {
+QIcon get_directory_icon() {
+ static QIcon cached = IconProvider::instance()->getIcon("inode-directory");
+ return cached;
+}
+
+QIcon get_file_icon() {
+ static QIcon cached = IconProvider::instance()->getIcon("text-plain");
+ return cached;
+}
+}
+
TorrentContentModel::TorrentContentModel(QObject *parent):
QAbstractItemModel(parent),
m_rootItem(new TorrentContentModelFolder(QList() << tr("Name") << tr("Size")
@@ -169,9 +181,9 @@ QVariant TorrentContentModel::data(const QModelIndex& index, int role) const
TorrentContentModelItem* item = static_cast(index.internalPointer());
if (index.column() == 0 && role == Qt::DecorationRole) {
if (item->itemType() == TorrentContentModelItem::FolderType)
- return IconProvider::instance()->getIcon("inode-directory");
+ return get_directory_icon();
else
- return IconProvider::instance()->getIcon("text-plain");
+ return get_file_icon();
}
if (index.column() == 0 && role == Qt::CheckStateRole) {
if (item->data(TorrentContentModelItem::COL_PRIO).toInt() == prio::IGNORED)