diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2014-08-22 21:13:40 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2014-09-02 00:43:50 +0200 |
commit | de068472f1368450bad4aff74eec0bc112ae413a (patch) | |
tree | 6cbfed8b6e93941d5b1d694abe420f667308218b /src/gui | |
parent | 97a32c8440919cc22ab8d9178c3bba09b05fb721 (diff) |
QIconLoader: enable an easy case of transactional processing
It's easy to do the work on the side and then commit. This is strongly
exception safe, but in Qt, we don't care. But transactional code, when
this easy to achieve, is also clearer.
Change-Id: I30f1badec7745d62a09af4eede234cb312b373aa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/image/qiconloader.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index 12d9f9f14d..44935333fc 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -561,15 +561,16 @@ void QIconLoaderEngine::virtual_hook(int id, void *data) { QIconEngine::AvailableSizesArgument &arg = *reinterpret_cast<QIconEngine::AvailableSizesArgument*>(data); - arg.sizes.clear(); const int N = m_entries.size(); - arg.sizes.reserve(N); + QList<QSize> sizes; + sizes.reserve(N); // Gets all sizes from the DirectoryInfo entries for (int i = 0; i < N; ++i) { int size = m_entries.at(i)->dir.size; - arg.sizes.append(QSize(size, size)); + sizes.append(QSize(size, size)); } + arg.sizes.swap(sizes); // commit } break; case QIconEngine::IconNameHook: |