diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/widgets/kernel/qapplication.cpp | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 53ce4dd8211..fa95a1d2538 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -1508,11 +1508,15 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason)              return;          } -        if (focus && (reason == Qt::BacktabFocusReason || reason == Qt::TabFocusReason) -            && qt_in_tab_key_event) -            focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); -        else if (focus && reason == Qt::ShortcutFocusReason) { -            focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); +        if (focus) { +            if ((reason == Qt::BacktabFocusReason || reason == Qt::TabFocusReason) +                 && qt_in_tab_key_event) +                focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); +            else if (reason == Qt::ShortcutFocusReason) { +                focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); +            } else { +                focus->window()->setAttribute(Qt::WA_KeyboardFocusChange, false); +            }          }          QWidget *prev = focus_widget;          focus_widget = focus; | 
