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