From 9c2783c6c7bfcc7427c4c7b80210895a3298f173 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 5 Feb 2018 14:16:44 +0100 Subject: QGtk3Menu: take GTK's scale factor into account MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GTK's scale factor, which can differ from Qt's scale factor, must be taken into account in the native GTK menu positioning function qt_gtk_menu_position_func(). Task-number: QTBUG-55251 Change-Id: I4ad460baab54facd25564ad85ded383c9321d597 Reviewed-by: Friedemann Kleint Reviewed-by: Dmitry Shachnev Reviewed-by: Morten Johan Sørvig --- src/plugins/platformthemes/gtk3/qgtk3menu.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/plugins/platformthemes') diff --git a/src/plugins/platformthemes/gtk3/qgtk3menu.cpp b/src/plugins/platformthemes/gtk3/qgtk3menu.cpp index ec4ff68e8d..1bbd463119 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3menu.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3menu.cpp @@ -411,6 +411,9 @@ static void qt_gtk_menu_position_func(GtkMenu *, gint *x, gint *y, gboolean *pus { QGtk3Menu *menu = static_cast(data); QPoint targetPos = menu->targetPos(); +#if GTK_CHECK_VERSION(3, 10, 0) + targetPos /= gtk_widget_get_scale_factor(menu->handle()); +#endif *x = targetPos.x(); *y = targetPos.y(); *push_in = true; -- cgit v1.2.3