Limit pixmap cache size to 2047MB; fix #555
also, fix any invalid values loaded from config
This commit is contained in:
parent
8e396cadc2
commit
24c6e4a81d
3 changed files with 9 additions and 2 deletions
|
@ -52,8 +52,9 @@ GeneralSettingsPage::GeneralSettingsPage()
|
||||||
|
|
||||||
pixmapCacheLabel = new QLabel;
|
pixmapCacheLabel = new QLabel;
|
||||||
pixmapCacheEdit = new QSpinBox;
|
pixmapCacheEdit = new QSpinBox;
|
||||||
pixmapCacheEdit->setMinimum(64);
|
pixmapCacheEdit->setMinimum(PIXMAPCACHE_SIZE_MIN);
|
||||||
pixmapCacheEdit->setMaximum(8192);
|
// 2047 is the max value to avoid overflowing of QPixmapCache::setCacheLimit(int size)
|
||||||
|
pixmapCacheEdit->setMaximum(PIXMAPCACHE_SIZE_MAX);
|
||||||
pixmapCacheEdit->setSingleStep(64);
|
pixmapCacheEdit->setSingleStep(64);
|
||||||
pixmapCacheEdit->setValue(settingsCache->getPixmapCacheSize());
|
pixmapCacheEdit->setValue(settingsCache->getPixmapCacheSize());
|
||||||
pixmapCacheEdit->setSuffix(" MB");
|
pixmapCacheEdit->setSuffix(" MB");
|
||||||
|
|
|
@ -24,6 +24,10 @@ SettingsCache::SettingsCache()
|
||||||
picDownload = settings->value("personal/picturedownload", true).toBool();
|
picDownload = settings->value("personal/picturedownload", true).toBool();
|
||||||
picDownloadHq = settings->value("personal/picturedownloadhq", false).toBool();
|
picDownloadHq = settings->value("personal/picturedownloadhq", false).toBool();
|
||||||
pixmapCacheSize = settings->value("personal/pixmapCacheSize", PIXMAPCACHE_SIZE_DEFAULT).toInt();
|
pixmapCacheSize = settings->value("personal/pixmapCacheSize", PIXMAPCACHE_SIZE_DEFAULT).toInt();
|
||||||
|
//sanity check
|
||||||
|
if(pixmapCacheSize < PIXMAPCACHE_SIZE_MIN || pixmapCacheSize > PIXMAPCACHE_SIZE_MAX)
|
||||||
|
pixmapCacheSize = PIXMAPCACHE_SIZE_DEFAULT;
|
||||||
|
|
||||||
picUrl = settings->value("personal/picUrl", PIC_URL_DEFAULT).toString();
|
picUrl = settings->value("personal/picUrl", PIC_URL_DEFAULT).toString();
|
||||||
picUrlHq = settings->value("personal/picUrlHq", PIC_URL_HQ_DEFAULT).toString();
|
picUrlHq = settings->value("personal/picUrlHq", PIC_URL_HQ_DEFAULT).toString();
|
||||||
picUrlFallback = settings->value("personal/picUrlFallback", PIC_URL_FALLBACK).toString();
|
picUrlFallback = settings->value("personal/picUrlFallback", PIC_URL_FALLBACK).toString();
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
#define PIC_URL_HQ_FALLBACK "http://mtgimage.com/set/!setcode!/!name!.jpg"
|
#define PIC_URL_HQ_FALLBACK "http://mtgimage.com/set/!setcode!/!name!.jpg"
|
||||||
// size should be a multiple of 64
|
// size should be a multiple of 64
|
||||||
#define PIXMAPCACHE_SIZE_DEFAULT 256
|
#define PIXMAPCACHE_SIZE_DEFAULT 256
|
||||||
|
#define PIXMAPCACHE_SIZE_MIN 64
|
||||||
|
#define PIXMAPCACHE_SIZE_MAX 2047
|
||||||
|
|
||||||
class QSettings;
|
class QSettings;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue