summaryrefslogtreecommitdiff
path: root/src/interface/SaveButton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface/SaveButton.cpp')
-rw-r--r--src/interface/SaveButton.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/interface/SaveButton.cpp b/src/interface/SaveButton.cpp
index ee57e81..e3f7422 100644
--- a/src/interface/SaveButton.cpp
+++ b/src/interface/SaveButton.cpp
@@ -61,7 +61,8 @@ SaveButton::SaveButton(Point position, Point size, SaveFile * file):
actionCallback(NULL),
voteColour(255, 0, 0),
selectable(false),
- selected(false)
+ selected(false),
+ wantsDraw(false)
{
if(file)
{
@@ -91,7 +92,7 @@ void SaveButton::Tick(float dt)
{
Thumbnail * tempThumb;
float scaleFactorY = 1.0f, scaleFactorX = 1.0f;
- if(!thumbnail)
+ if(!thumbnail/* && wantsDraw*/)
{
if(save)
{
@@ -114,7 +115,11 @@ void SaveButton::Tick(float dt)
}
if(file)
{
- if(file->GetGameSave())
+ if(file->GetThumbnail())
+ {
+ thumbnail = new Thumbnail(*file->GetThumbnail());
+ }
+ else if(file->GetGameSave())
{
thumbnail = SaveRenderer::Ref().Render(file->GetGameSave());
}
@@ -152,6 +157,8 @@ void SaveButton::Draw(const Point& screenPos)
float scaleFactor;
ui::Point thumbBoxSize(0, 0);
+ wantsDraw = true;
+
if(selected && selectable)
{
g->fillrect(screenPos.X, screenPos.Y, Size.X, Size.Y, 100, 170, 255, 100);