File 0022-Fix-mapToGlobal.patch of Package plasma5-workspace
From 5698e2c4a09d5d4b1ff384eca240c7ecc7a0185b Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk>
Date: Fri, 13 Jan 2017 15:23:50 +0000
Subject: [PATCH 22/44] Fix mapToGlobal
Summary:
When recreating QQuickItem::mapToGlobal for < Qt 5.7 we are currently
using the window's global position and the item's position relevant to
it's parent. We need to use the item's position relative to the scene.
Test Plan: Had applet on right hand side of panel, menus are now in the correct place.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4117
---
applets/appmenu/lib/appmenuapplet.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/applets/appmenu/lib/appmenuapplet.cpp b/applets/appmenu/lib/appmenuapplet.cpp
index 7c053e6f..85b28295 100644
--- a/applets/appmenu/lib/appmenuapplet.cpp
+++ b/applets/appmenu/lib/appmenuapplet.cpp
@@ -165,7 +165,7 @@ void AppMenuApplet::trigger(QQuickItem *ctx, int idx)
const auto &geo = ctx->window()->screen()->availableVirtualGeometry();
- QPoint pos = ctx->window()->mapToGlobal(ctx->position().toPoint());
+ QPoint pos = ctx->window()->mapToGlobal(ctx->mapToScene(QPointF()).toPoint());
if (location() == Plasma::Types::TopEdge) {
pos.setY(pos.y() + ctx->height());
}
--
2.12.0