X-Git-Url: http://git.tdb.fi/?p=libs%2Fgltk.git;a=blobdiff_plain;f=source%2Fcontainer.cpp;fp=source%2Fcontainer.cpp;h=9ef46f1ab85fcd511238ecb83f3f45cf912b7caa;hp=393973cc2ab7293adcd32c3e939442780e0ff23e;hb=ab45b7660aec83978871ade009846dcb8c34579f;hpb=9678abb23abe450109e2feda081f5bba5f20cc94 diff --git a/source/container.cpp b/source/container.cpp index 393973c..9ef46f1 100644 --- a/source/container.cpp +++ b/source/container.cpp @@ -35,6 +35,8 @@ void Container::remove(Widget &wdg) if(i==children.end()) throw hierarchy_error("widget not in container"); + if(&wdg==saved_input_focus) + saved_input_focus = nullptr; wdg.set_parent(nullptr); delete *i; children.erase(i); @@ -317,7 +319,7 @@ bool Container::character(wchar_t ch) void Container::focus_in() { - if(saved_input_focus && saved_input_focus->get_parent()==this) + if(saved_input_focus) set_input_focus(saved_input_focus); Widget::focus_in(); }