diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2018-02-05 14:16:44 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2018-02-22 19:08:11 +0000 |
commit | 9c2783c6c7bfcc7427c4c7b80210895a3298f173 (patch) | |
tree | ce273a7be125b8374a44be32acccc6a5f046b184 | |
parent | a924b4d58f66da44cd9a5ed8896f80a5121bac4a (diff) |
QGtk3Menu: take GTK's scale factor into account
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 <Friedemann.Kleint@qt.io>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
-rw-r--r-- | src/plugins/platformthemes/gtk3/qgtk3menu.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
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<QGtk3Menu *>(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; |