--- src/mythtv/libs/libmythui/mythmainwindow.cpp.orig 2015-08-19 21:24:59.990554429 +0000 +++ src/mythtv/libs/libmythui/mythmainwindow.cpp 2015-08-19 21:23:33.851546588 +0000 @@ -1380,7 +1380,7 @@ .arg(::GetCurrentThreadId())); #endif if (currentWidget()) - { +#ifdef Q_OS_MAC // don't disable the current widget, instead we disable all its children // on mac, disabling the current active widget entirely prevent keyboard to // work on the newly opened widget. @@ -1395,8 +1395,9 @@ d->enabledWidgets[w] = true; } } - } - +#else + currentWidget()->setEnabled(false); +#endif d->widgetList.push_back(child); child->winId(); child->raise(); @@ -1419,11 +1420,8 @@ d->widgetList.erase(it); QWidget *current = currentWidget(); if (!current) - { current = this; - // We're be to the main window, enable it just in case - setEnabled(true); - } +#ifdef Q_OS_MAC else { QList list = current->findChildren(); @@ -1438,6 +1436,8 @@ } } current->raise(); +#endif + current->setEnabled(true); current->setFocus(); current->setMouseTracking(true);