summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2017-02-12 15:44:01 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-02-22 09:02:54 +0000
commit7e7dd26251c355a54b5c34ea4fb27dcda9ee7b94 (patch)
tree269c5a44123402642348a8e3255cf55d0554a484 /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
parent19a45f7eb3525bcf923f03ae52d83228f17da16d (diff)
Use Qt::ToolTip as window type for dropdown popus
In 58467ed1950ee070d0907cbdabb8466aba277305, the window type for dropdown popups was changed from Qt::ToolTip to Qt:Tool to fix issues when using a QWebEngineView inside a modal dialog on macOS. However, this causes a separate window to pop up at least under Linux, so we use Qt::ToolTip again there. Task-number: QTBUG-58488 Task-number: QTBUG-58544 Change-Id: I951b91980be89a37ee07b19fca684d13b6098af0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp')
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
index e4c8996e1..e7ad5b107 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -182,10 +182,14 @@ void RenderWidgetHostViewQtDelegateWidget::initAsPopup(const QRect& screenRect)
setAttribute(Qt::WA_ShowWithoutActivating);
setFocusPolicy(Qt::NoFocus);
+#ifdef Q_OS_MACOS
// macOS doesn't like Qt::ToolTip when QWebEngineView is inside a modal dialog, specifically by
// not forwarding click events to the popup. So we use Qt::Tool which behaves the same way, but
// works on macOS too.
setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
+#else
+ setWindowFlags(Qt::ToolTip | Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
+#endif
setGeometry(screenRect);
show();