Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/window.cc')
-rw-r--r--src/ui/window.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ui/window.cc b/src/ui/window.cc
index e79262f..3015a10 100644
--- a/src/ui/window.cc
+++ b/src/ui/window.cc
@@ -23,11 +23,16 @@ Window::~Window()
{
}
-void Window::show() {
+void Window::show()
+{
resize();
Widget::show();
raise();
- set_focus();
+ Widget *w = this;
+ while (w && w->visible()) {
+ w->set_focus();
+ w = w->parent();
+ }
}
void Window::set_previous(Window *previous)