diff --git a/src/gui/widgets/scrollbar_container.cpp b/src/gui/widgets/scrollbar_container.cpp index a8edbc3b37d0..4b10f432d45d 100644 --- a/src/gui/widgets/scrollbar_container.cpp +++ b/src/gui/widgets/scrollbar_container.cpp @@ -417,7 +417,7 @@ void scrollbar_container::place(const point& origin, const point& size) vertical_scrollbar_mode_, content_grid_->get_height(), content_->get_height(), - content_grid_ + content_grid_.get() ); // Set horizontal scrollbar @@ -427,7 +427,7 @@ void scrollbar_container::place(const point& origin, const point& size) horizontal_scrollbar_mode_, content_grid_->get_width(), content_->get_width(), - content_grid_ + content_grid_.get() ); // Update the buttons. @@ -766,7 +766,8 @@ void scrollbar_container::finalize_setup() /***** Setup the content *****/ content_ = build_single_widget_instance("spacer"); - content_grid_ = dynamic_cast(get_grid().swap_child("_content_grid", content_, true).release()); + // TODO: possibly move this unique_ptr casting functionality to a helper function. + content_grid_.reset(dynamic_cast(get_grid().swap_child("_content_grid", content_, true).release())); assert(content_grid_); content_grid_->set_parent(this); diff --git a/src/gui/widgets/scrollbar_container.hpp b/src/gui/widgets/scrollbar_container.hpp index 6bdb76082b75..095a0266b64d 100644 --- a/src/gui/widgets/scrollbar_container.hpp +++ b/src/gui/widgets/scrollbar_container.hpp @@ -54,7 +54,6 @@ class scrollbar_container : public container_base ~scrollbar_container() { - delete content_grid_; } /** The way to handle the showing or hiding of the scrollbar. */ @@ -160,12 +159,12 @@ class scrollbar_container : public container_base grid* content_grid() { - return content_grid_; + return content_grid_.get(); } const grid* content_grid() const { - return content_grid_; + return content_grid_.get(); } const SDL_Rect& content_visible_area() const @@ -479,7 +478,7 @@ class scrollbar_container : public container_base scrollbar_base *vertical_scrollbar_, *horizontal_scrollbar_; /** The grid that holds the content. */ - grid* content_grid_; + std::unique_ptr content_grid_; /** Dummy spacer to hold the contents location. */ spacer* content_;