From cc5d74084cb59d23853fb3ddeee754568570ac08 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 30 Jul 2019 17:52:05 +0200 Subject: [PATCH] Fix memory leak in ProgressStatusBar --- src/slic3r/GUI/ProgressStatusBar.cpp | 28 ++++++++++++++-------------- src/slic3r/GUI/ProgressStatusBar.hpp | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/slic3r/GUI/ProgressStatusBar.cpp b/src/slic3r/GUI/ProgressStatusBar.cpp index f848e663d..33e4855cd 100644 --- a/src/slic3r/GUI/ProgressStatusBar.cpp +++ b/src/slic3r/GUI/ProgressStatusBar.cpp @@ -14,20 +14,20 @@ namespace Slic3r { -ProgressStatusBar::ProgressStatusBar(wxWindow *parent, int id): - self(new wxStatusBar(parent ? parent : GUI::wxGetApp().mainframe, - id == -1? wxID_ANY : id)), - m_timer(new wxTimer(self)), - m_prog (new wxGauge(self, - wxGA_HORIZONTAL, - 100, - wxDefaultPosition, - wxDefaultSize)), - m_cancelbutton(new wxButton(self, - -1, - _(L("Cancel")), - wxDefaultPosition, - wxDefaultSize)) +ProgressStatusBar::ProgressStatusBar(wxWindow *parent, int id) + : self{new wxStatusBar(parent ? parent : GUI::wxGetApp().mainframe, + id == -1 ? wxID_ANY : id)} + , m_prog{new wxGauge(self, + wxGA_HORIZONTAL, + 100, + wxDefaultPosition, + wxDefaultSize)} + , m_cancelbutton{new wxButton(self, + -1, + _(L("Cancel")), + wxDefaultPosition, + wxDefaultSize)} + , m_timer{new wxTimer(self)} { m_prog->Hide(); m_cancelbutton->Hide(); diff --git a/src/slic3r/GUI/ProgressStatusBar.hpp b/src/slic3r/GUI/ProgressStatusBar.hpp index 413c6ffee..1aab67d5a 100644 --- a/src/slic3r/GUI/ProgressStatusBar.hpp +++ b/src/slic3r/GUI/ProgressStatusBar.hpp @@ -25,9 +25,9 @@ namespace Slic3r { class ProgressStatusBar { wxStatusBar *self; // we cheat! It should be the base class but: perl! - wxTimer *m_timer; wxGauge *m_prog; wxButton *m_cancelbutton; + std::unique_ptr m_timer; public: /// Cancel callback function type