diff --git a/kdevplatform/sublime/mainwindow.cpp b/kdevplatform/sublime/mainwindow.cpp --- a/kdevplatform/sublime/mainwindow.cpp +++ b/kdevplatform/sublime/mainwindow.cpp @@ -187,9 +187,16 @@ void MainWindow::activateView(Sublime::View* view, bool focus) { - if (!d->viewContainers.contains(view) || d->activeView == view) + if (!d->viewContainers.contains(view)) return; + if (d->activeView == view) + { + if (focus && view && !view->widget()->hasFocus()) + view->widget()->setFocus(); + return; + } + d->viewContainers[view]->setCurrentWidget(view->widget()); setActiveView(view, focus);