----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/116525/#review61700 -----------------------------------------------------------
src/lib/marble/RemoteIconLoader.h <https://git.reviewboard.kde.org/r/116525/#comment42935> const QByteArray &, const QString & src/lib/marble/RemoteIconLoader.cpp <https://git.reviewboard.kde.org/r/116525/#comment42938> this is leaked currently, HttpDownloadManager does not take ownership of it. The easiest fix would be to change it to FileStoragePolicy m_storagePolicy; and further above likewise RemoteIconLoaderPrivate() : m_storagePolicy( MarbleDirs::path( "/cache/icons/" ) ), ... src/lib/marble/RemoteIconLoader.cpp <https://git.reviewboard.kde.org/r/116525/#comment42940> should be deleted in the destructor (even if the class is assumed to be used statically only), or change to HttpDownloadManager m_downloadManager; src/lib/marble/RemoteIconLoader.cpp <https://git.reviewboard.kde.org/r/116525/#comment42936> cachedIcon (not a capital C at start) src/lib/marble/RemoteIconLoader.cpp <https://git.reviewboard.kde.org/r/116525/#comment42937> the name is somewhat confusing. What about loadFromDiskCache instead? src/lib/marble/RemoteIconLoader.cpp <https://git.reviewboard.kde.org/r/116525/#comment42948> QImage(path) seems to be problematic in newer Qt 5.x versions. Better use sth. along the lines of m_icon = QFile::exists( path ) ? QImage( path ) : QImage(); Isn't the approach taken here a design flaw? RemoteIconLoader is used as a static class, and searchLocalDir writes m_icon without noting it's url/path. If you load more than one icon then the wrong one might be returned (the next call just overwrites any previous m_icon). To fix it just remove the m_icon member and store the loaded image in m_iconCache when it is not null. So something like QString const path = MarbleDirs::path( QString("/cache/icons/") + cacheFileName( url ) ); QImage const icon = QFile::exists( path ) ? QImage( path ) : QImage(); if ( !m_icon.isNull() ) { m_iconCache[url] = m_icon; return true; } return false; src/lib/marble/RemoteIconLoader.cpp <https://git.reviewboard.kde.org/r/116525/#comment42944> (this will stay the same even if you change the signature to const QByteArray &, const QString & above) - Dennis Nienhüser On July 5, 2014, 6:25 p.m., Abhinav Gangwar wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/116525/ > ----------------------------------------------------------- > > (Updated July 5, 2014, 6:25 p.m.) > > > Review request for Marble, Bernhard Beschow, Dennis Nienhüser, Torsten Rahn, > and Thibaut Gridel. > > > Bugs: 310464 > http://bugs.kde.org/show_bug.cgi?id=310464 > > > Repository: marble > > > Description > ------- > > The patch adds support to download remote images > > > Diffs > ----- > > src/lib/marble/CMakeLists.txt a016307 > src/lib/marble/PlacemarkLayout.cpp 408607b > src/lib/marble/RemoteIconLoader.h PRE-CREATION > src/lib/marble/RemoteIconLoader.cpp PRE-CREATION > src/lib/marble/VisiblePlacemark.cpp 8811598 > src/lib/marble/geodata/data/GeoDataIconStyle.h 8838e49 > src/lib/marble/geodata/data/GeoDataIconStyle.cpp 6902fcf > src/lib/marble/VisiblePlacemark.h 5356f4d > > Diff: https://git.reviewboard.kde.org/r/116525/diff/ > > > Testing > ------- > > Works fine on my system > > > Thanks, > > Abhinav Gangwar > >
_______________________________________________ Marble-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/marble-devel
