1
mirror of https://invent.kde.org/network/falkon.git synced 2024-12-20 18:56:34 +01:00

WebView: Fix finding correct rwhvqt

Focus proxy is actually set only after adding it to the layout, so without
the timer it would pick old rwhvqt.

BUG: 393398
This commit is contained in:
David Rosca 2018-04-22 18:53:49 +02:00
parent af89a1b8d4
commit ad2466f2fa
No known key found for this signature in database
GPG Key ID: EBC3FC294452C6D8

View File

@ -1292,13 +1292,17 @@ bool WebView::eventFilter(QObject *obj, QEvent *event)
} }
// Hack to find widget that receives input events // Hack to find widget that receives input events
if (obj == this && event->type() == QEvent::ChildAdded && !m_rwhvqt && focusProxy()) { if (obj == this && event->type() == QEvent::ChildAdded) {
QTimer::singleShot(0, this, [this]() {
if (focusProxy() && m_rwhvqt != focusProxy()) {
m_rwhvqt = focusProxy(); m_rwhvqt = focusProxy();
m_rwhvqt->installEventFilter(this); m_rwhvqt->installEventFilter(this);
if (QQuickWidget *w = qobject_cast<QQuickWidget*>(m_rwhvqt)) { if (QQuickWidget *w = qobject_cast<QQuickWidget*>(m_rwhvqt)) {
w->setClearColor(palette().color(QPalette::Window)); w->setClearColor(palette().color(QPalette::Window));
} }
} }
});
}
// Forward events to WebView // Forward events to WebView
#define HANDLE_EVENT(f, t) \ #define HANDLE_EVENT(f, t) \