https://bugs.kde.org/show_bug.cgi?id=381793
David Faure <fa...@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REPORTED |ASSIGNED Assignee|kdelibs-b...@kde.org |fa...@kde.org Ever confirmed|0 |1 --- Comment #12 from David Faure <fa...@kde.org> --- The deleted focus-widget had a focus proxy, QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget But QApplicationPrivate::focus_widget is the WebEngineView, not its focus proxy. Due to that, QWidget::hasFocus() [which follows to the focus proxy] on both widgets is false, so QWidget::clearFocus() doesn't call QApplicationPrivate::setFocusWidget(0) for either of them. At the time of the initial QApplicationPrivate::setFocusWidget (which happens when konqueror calls part->widget()->setFocus()), the WebEngineView doesn't have a focus proxy yet. That happens later, in QWebEngineViewPrivate::widgetChanged. QWidget::setFocusProxy doesn't update the app focus_proxy, that seems to be what's missing. No idea how it ever worked before though. Reproduced with unittest for Qt. Made a Qt fix. https://codereview.qt-project.org/c/qt/qtbase/+/268743 -- You are receiving this mail because: You are watching all bug changes.