From 973399f5cbef2b3ccc96d381498c41644a8081ed Mon Sep 17 00:00:00 2001 From: hiker Date: Thu, 4 Sep 2014 21:14:37 +1000 Subject: [PATCH] Fixed memory leak. --- src/states_screens/gp_info_screen.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/states_screens/gp_info_screen.cpp b/src/states_screens/gp_info_screen.cpp index 1f6195720..97b66725e 100644 --- a/src/states_screens/gp_info_screen.cpp +++ b/src/states_screens/gp_info_screen.cpp @@ -57,7 +57,8 @@ GPInfoScreen::GPInfoScreen() : Screen("gp_info.stkgui") { m_curr_time = 0.0f; // Necessary to test if loadedFroMFile() was executed (in setGP) - m_reverse_spinner = NULL; + m_reverse_spinner = NULL; + m_screenshot_widget = NULL; } // GPInfoScreen // ---------------------------------------------------------------------------- @@ -230,9 +231,13 @@ void GPInfoScreen::addScreenshot() { Widget* screenshot_div = getWidget("screenshot_div"); - m_screenshot_widget = new IconButtonWidget( - IconButtonWidget::SCALE_MODE_KEEP_CUSTOM_ASPECT_RATIO, - false, false, IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE); + if(!m_screenshot_widget) + { + m_screenshot_widget = new IconButtonWidget( + IconButtonWidget::SCALE_MODE_KEEP_CUSTOM_ASPECT_RATIO, + false, false, IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE); + m_widgets.push_back(m_screenshot_widget); + } // images are saved squared, but must be stretched to 4:3 m_screenshot_widget->setCustomAspectRatio(4.0f / 3.0f); m_screenshot_widget->m_x = screenshot_div->m_x; @@ -252,7 +257,6 @@ void GPInfoScreen::addScreenshot() track->getFilename() ); if (screenshot != NULL) m_screenshot_widget->setImage(screenshot); - m_widgets.push_back(m_screenshot_widget); } // addScreenShot // ----------------------------------------------------------------------------