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)