ddca29f
From b12be8bcddf71b969c97580bd631a6a851a2ad43 Mon Sep 17 00:00:00 2001
ddca29f
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
ddca29f
Date: Thu, 28 Sep 2017 10:28:44 +0100
ddca29f
Subject: [PATCH] Resolves: tdf#42873 videos in presenter console misplaced
ddca29f
ddca29f
Change-Id: Ib7559246f6f3173acea72268db0489b79df38ae3
ddca29f
---
ddca29f
 slideshow/source/engine/shapes/viewmediashape.cxx | 18 +++++++++++++-----
ddca29f
 1 file changed, 13 insertions(+), 5 deletions(-)
ddca29f
ddca29f
diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx
ddca29f
index dcc14b9..99bc019 100644
ddca29f
--- a/slideshow/source/engine/shapes/viewmediashape.cxx
ddca29f
+++ b/slideshow/source/engine/shapes/viewmediashape.cxx
ddca29f
@@ -50,15 +50,16 @@
ddca29f
 #include <vcl/opengl/OpenGLContext.hxx>
ddca29f
 #endif
ddca29f
 
ddca29f
-#include <com/sun/star/media/XManager.hpp>
ddca29f
-#include <com/sun/star/media/XPlayer.hpp>
ddca29f
-#include <com/sun/star/media/XPlayerWindow.hpp>
ddca29f
+#include <com/sun/star/awt/XWindow.hpp>
ddca29f
 #include <com/sun/star/beans/XPropertySet.hpp>
ddca29f
+#include <com/sun/star/lang/XComponent.hpp>
ddca29f
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
ddca29f
 #include <com/sun/star/lang/NoSupportException.hpp>
ddca29f
-#include <com/sun/star/awt/XWindow.hpp>
ddca29f
+#include <com/sun/star/media/XManager.hpp>
ddca29f
+#include <com/sun/star/media/XPlayer.hpp>
ddca29f
+#include <com/sun/star/media/XPlayerWindow.hpp>
ddca29f
+#include <com/sun/star/presentation/XSlideShowView.hpp>
ddca29f
 #include <com/sun/star/rendering/XCanvas.hpp>
ddca29f
-#include <com/sun/star/lang/XComponent.hpp>
ddca29f
 
ddca29f
 #include "viewmediashape.hxx"
ddca29f
 #include "mediashape.hxx"
ddca29f
@@ -473,6 +474,13 @@ namespace slideshow
ddca29f
                             {
ddca29f
                                 mpMediaWindow.disposeAndClear();
ddca29f
                                 mpMediaWindow = VclPtr<SystemChildWindow>::Create( pWindow, WB_CLIPCHILDREN );
ddca29f
+                                UnoViewSharedPtr xUnoView(std::dynamic_pointer_cast<UnoView>(mpViewLayer));
ddca29f
+                                if (xUnoView)
ddca29f
+                                {
ddca29f
+                                    awt::Rectangle aCanvasArea = xUnoView->getUnoView()->getCanvasArea();
ddca29f
+                                    aAWTRect.X += aCanvasArea.X;
ddca29f
+                                    aAWTRect.Y += aCanvasArea.Y;
ddca29f
+                                }
ddca29f
                                 mpMediaWindow->SetPosSizePixel( Point( aAWTRect.X, aAWTRect.Y ),
ddca29f
                                                            Size( aAWTRect.Width, aAWTRect.Height ) );
ddca29f
                             }
ddca29f
-- 
ddca29f
2.9.5
ddca29f