fix wrong order of widget deletion
This commit is contained in:
@@ -147,8 +147,6 @@ namespace nana
|
|||||||
: public widget
|
: public widget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
~widget_base();
|
|
||||||
|
|
||||||
window handle() const override;
|
window handle() const override;
|
||||||
protected:
|
protected:
|
||||||
void _m_notify_destroy() override;
|
void _m_notify_destroy() override;
|
||||||
@@ -172,6 +170,11 @@ namespace nana
|
|||||||
scheme_{ API::dev::make_scheme<Scheme>() }
|
scheme_{ API::dev::make_scheme<Scheme>() }
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
~widget_object()
|
||||||
|
{
|
||||||
|
API::close_window(handle());
|
||||||
|
}
|
||||||
|
|
||||||
event_type& events() const
|
event_type& events() const
|
||||||
{
|
{
|
||||||
return *events_;
|
return *events_;
|
||||||
@@ -255,6 +258,11 @@ namespace nana
|
|||||||
: events_{ std::make_shared<Events>() }, scheme_{ API::dev::make_scheme<scheme_type>() }
|
: events_{ std::make_shared<Events>() }, scheme_{ API::dev::make_scheme<scheme_type>() }
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
~widget_object()
|
||||||
|
{
|
||||||
|
API::close_window(handle());
|
||||||
|
}
|
||||||
|
|
||||||
event_type& events() const
|
event_type& events() const
|
||||||
{
|
{
|
||||||
return *events_;
|
return *events_;
|
||||||
@@ -329,6 +337,11 @@ namespace nana
|
|||||||
_m_bind_and_attach();
|
_m_bind_and_attach();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
~widget_object()
|
||||||
|
{
|
||||||
|
API::close_window(handle());
|
||||||
|
}
|
||||||
|
|
||||||
event_type& events() const
|
event_type& events() const
|
||||||
{
|
{
|
||||||
return *events_;
|
return *events_;
|
||||||
@@ -461,6 +474,11 @@ namespace nana
|
|||||||
: events_{ std::make_shared<Events>() }, scheme_{ API::dev::make_scheme<scheme_type>() }
|
: events_{ std::make_shared<Events>() }, scheme_{ API::dev::make_scheme<scheme_type>() }
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
~widget_object()
|
||||||
|
{
|
||||||
|
API::close_window(handle());
|
||||||
|
}
|
||||||
|
|
||||||
event_type& events() const
|
event_type& events() const
|
||||||
{
|
{
|
||||||
return *events_;
|
return *events_;
|
||||||
|
|||||||
@@ -382,12 +382,6 @@ namespace nana
|
|||||||
}
|
}
|
||||||
|
|
||||||
//class widget_base
|
//class widget_base
|
||||||
widget_base::~widget_base()
|
|
||||||
{
|
|
||||||
if (handle_)
|
|
||||||
API::close_window(handle_);
|
|
||||||
}
|
|
||||||
|
|
||||||
window widget_base::handle() const
|
window widget_base::handle() const
|
||||||
{
|
{
|
||||||
return handle_;
|
return handle_;
|
||||||
|
|||||||
Reference in New Issue
Block a user