fix an crash that caused by accessing an non-existing tabbar

This commit is contained in:
Jinhao 2015-09-22 21:05:50 +08:00
parent 8dcd730715
commit ccb334a907
2 changed files with 6 additions and 7 deletions

View File

@ -206,16 +206,15 @@ namespace nana
caption_.create(*this, true);
caption_.on_close([this]
{
bool destroy_dockarea = false;
try
bool destroy_dockarea = true;
if (tabbar_)
{
tabbar_->erase(tabbar_->selected());
destroy_dockarea = (0 == tabbar_->length());
}
catch (std::out_of_range&)
{
destroy_dockarea = true;
}
if (destroy_dockarea)
notifier_->request_close();

View File

@ -1684,7 +1684,7 @@ namespace nana
if (close_attached && attached_wd)
API::close_window(attached_wd);
if (selection_changed)
if (selection_changed && (active_pos != npos))
{
event_arg arg;
events().selected.emit(arg);