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

openSUSE Build Service is sponsored by