fix memory leak for spinbox

This commit is contained in:
Jinhao 2017-04-26 05:26:39 +08:00
parent 970412a3db
commit 4aba8e8c7f
3 changed files with 10 additions and 4 deletions

View File

@ -56,6 +56,7 @@ namespace nana
private:
//Overrides drawer_trigger
void attached(widget_reference, graph_reference) override;
void detached() override;
void refresh(graph_reference) override;
void focus(graph_reference, const arg_focus&) override;

View File

@ -1,7 +1,7 @@
/**
* The fundamental widget class implementation
* Nana C++ Library(http://www.nanapro.org)
* Copyright(C) 2003-2016 Jinhao(cnjinhao@hotmail.com)
* Copyright(C) 2003-2017 Jinhao(cnjinhao@hotmail.com)
*
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
@ -245,9 +245,9 @@ namespace nana
void _m_notify_destroy() override final
{
widget_base::_m_notify_destroy();
events_ = std::make_shared<Events>();
API::dev::set_events(handle_, events_);
widget_base::_m_notify_destroy();
}
private:
DrawerTrigger trigger_;
@ -310,9 +310,9 @@ namespace nana
void _m_notify_destroy() override final
{
widget_base::_m_notify_destroy();
events_ = std::make_shared<Events>();
API::dev::set_events(handle_, events_);
widget_base::_m_notify_destroy();
}
private:
std::shared_ptr<Events> events_;
@ -449,9 +449,9 @@ namespace nana
void _m_notify_destroy() override final
{
widget_base::_m_notify_destroy();
events_ = std::make_shared<Events>();
API::dev::set_events(handle_, events_);
widget_base::_m_notify_destroy();
}
private:
DrawerTrigger trigger_;

View File

@ -531,6 +531,11 @@ namespace nana
impl_->attach(wdg, graph);
}
void drawer::detached()
{
impl_->detach();
}
void drawer::refresh(graph_reference)
{
impl_->render();