summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-04-03 03:24:13 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-04-03 03:24:13 -0400
commite5a54f5d00fb012cd8b1749ffbd339679646ba68 (patch)
tree1ad456a1a2bc14999447a7d8ef4be8e594ff5a15
parenta3dd3092a63b35f460f363458b02fe654541bd94 (diff)
downloadsigen-e5a54f5d00fb012cd8b1749ffbd339679646ba68.tar.gz
sigen-e5a54f5d00fb012cd8b1749ffbd339679646ba68.tar.xz
sigen-e5a54f5d00fb012cd8b1749ffbd339679646ba68.zip
Fix caching to only invalidate when the size is different
-rw-r--r--sigmodr/widgets/mapeditor/WorldMapPlacement.cpp10
-rw-r--r--sigmodr/widgets/mapeditor/WorldMapPlacement.h2
2 files changed, 8 insertions, 4 deletions
diff --git a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
index 68b0059e..411dae9d 100644
--- a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
+++ b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
@@ -24,12 +24,16 @@
using namespace Sigmodr::Widgets;
bool WorldMapPlacement::m_cacheGood = false;
+QSize WorldMapPlacement::m_size;
QList<QPolygon> WorldMapPlacement::m_polygons;
-WorldMapPlacement::WorldMapPlacement(const QSize& size) :
- m_size(size)
+WorldMapPlacement::WorldMapPlacement(const QSize& size)
{
- m_cacheGood = false;
+ if (m_size != size)
+ {
+ m_cacheGood = false;
+ m_size = size;
+ }
}
void WorldMapPlacement::addRect(const QRect& rect)
diff --git a/sigmodr/widgets/mapeditor/WorldMapPlacement.h b/sigmodr/widgets/mapeditor/WorldMapPlacement.h
index fda9622f..6aa9ccff 100644
--- a/sigmodr/widgets/mapeditor/WorldMapPlacement.h
+++ b/sigmodr/widgets/mapeditor/WorldMapPlacement.h
@@ -43,7 +43,7 @@ class SIGMODRWIDGETS_NO_EXPORT WorldMapPlacement
static void invalidateCache();
private:
static bool m_cacheGood;
- QSize m_size;
+ static QSize m_size;
QList<QRect> m_rects;
static QList<QPolygon> m_polygons;
QPolygon m_polygon;