[Libreoffice-commits] core.git: 3 commits - avmedia/source chart2/Library_chartcontroller.mk chart2/source sc/source
Zolnai Tamás
tamas.zolnai at collabora.com
Sun Jul 20 00:56:34 PDT 2014
avmedia/source/viewer/mediawindow_impl.cxx | 4 +
chart2/Library_chartcontroller.mk | 1
chart2/source/controller/main/ChartController.cxx | 3 +
chart2/source/controller/main/ChartWindow.cxx | 35 ++++++++++++--
chart2/source/controller/main/ChartWindow.hxx | 9 ++-
chart2/source/model/main/ChartModel.cxx | 1
chart2/source/view/charttypes/GL3DBarChart.cxx | 54 +++++++++++++---------
chart2/source/view/inc/AbstractShapeFactory.hxx | 2
chart2/source/view/inc/GL3DBarChart.hxx | 6 +-
chart2/source/view/inc/OpenglShapeFactory.hxx | 2
chart2/source/view/inc/ShapeFactory.hxx | 2
chart2/source/view/main/ChartView.cxx | 16 +++++-
chart2/source/view/main/DummyXShape.hxx | 1
chart2/source/view/main/OpenglShapeFactory.cxx | 6 ++
sc/source/ui/drawfunc/fuins2.cxx | 18 -------
15 files changed, 104 insertions(+), 56 deletions(-)
New commits:
commit cbc50c90ad63f0e59b8cf3bbfb6b5b1f61db09b9
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date: Sun Jul 20 09:52:04 2014 +0200
Fix OpenGL chart reinitializing
Problem after ChartWindow was disabled and enabled
again, OpenGL content was lost.
Two things:
-After setting a new OpenGLWindow the corresponding
IRenderer must be set (x3DWindowProvider->update)
-InitOpenGL() call should not depend on DummyChart, but on
OpenGLWindow (OpenGLContext).
Change-Id: If74e1945de9973d3921ceea1ca6fef39311add7a
diff --git a/chart2/source/controller/main/ChartWindow.cxx b/chart2/source/controller/main/ChartWindow.cxx
index 37335c4..40e6933 100644
--- a/chart2/source/controller/main/ChartWindow.cxx
+++ b/chart2/source/controller/main/ChartWindow.cxx
@@ -64,6 +64,7 @@ ChartWindow::ChartWindow( ChartController* pController, Window* pParent, WinBits
uno::Reference< chart2::X3DChartWindowProvider > x3DWindowProvider(pController->getModel(), uno::UNO_QUERY_THROW);
sal_uInt64 nWindowPtr = reinterpret_cast<sal_uInt64>(m_pOpenGLWindow);
x3DWindowProvider->setWindow(nWindowPtr);
+ x3DWindowProvider->update();
}
ChartWindow::~ChartWindow()
@@ -72,6 +73,7 @@ ChartWindow::~ChartWindow()
{
uno::Reference< chart2::X3DChartWindowProvider > x3DWindowProvider(m_pWindowController->getModel(), uno::UNO_QUERY_THROW);
x3DWindowProvider->setWindow(0);
+ x3DWindowProvider->update();
}
delete m_pOpenGLWindow;
}
diff --git a/chart2/source/view/inc/AbstractShapeFactory.hxx b/chart2/source/view/inc/AbstractShapeFactory.hxx
index 9cb3e47..3e55165 100644
--- a/chart2/source/view/inc/AbstractShapeFactory.hxx
+++ b/chart2/source/view/inc/AbstractShapeFactory.hxx
@@ -238,7 +238,7 @@ public:
/**
* Only necessary for stateless implementations
*/
- virtual void render(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > xRootShape) = 0;
+ virtual void render(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > xRootShape, bool bInitOpenGL = true) = 0;
virtual bool preRender(OpenGLWindow* pWindow) = 0;
virtual void postRender(OpenGLWindow* pWindow) = 0;
diff --git a/chart2/source/view/inc/OpenglShapeFactory.hxx b/chart2/source/view/inc/OpenglShapeFactory.hxx
index 896249e..7907d0d 100644
--- a/chart2/source/view/inc/OpenglShapeFactory.hxx
+++ b/chart2/source/view/inc/OpenglShapeFactory.hxx
@@ -184,7 +184,7 @@ public:
virtual void setPageSize( com::sun::star::uno::Reference < com::sun::star::drawing::XShapes > xChartShapes, const com::sun::star::awt::Size& rSize ) SAL_OVERRIDE;
- virtual void render(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > xDrawPage) SAL_OVERRIDE;
+ virtual void render(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > xDrawPage, bool bInitOpenGL = true) SAL_OVERRIDE;
virtual bool preRender(OpenGLWindow* pWindow) SAL_OVERRIDE;
virtual void postRender(OpenGLWindow* pWindow) SAL_OVERRIDE;
diff --git a/chart2/source/view/inc/ShapeFactory.hxx b/chart2/source/view/inc/ShapeFactory.hxx
index 171daad..480c1b1 100644
--- a/chart2/source/view/inc/ShapeFactory.hxx
+++ b/chart2/source/view/inc/ShapeFactory.hxx
@@ -197,7 +197,7 @@ public:
/**
* not necessary right now
*/
- virtual void render(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > ) SAL_OVERRIDE {}
+ virtual void render(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >, bool ) SAL_OVERRIDE {}
virtual bool preRender(OpenGLWindow*) SAL_OVERRIDE { return true; }
virtual void postRender(OpenGLWindow*) SAL_OVERRIDE {}
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index 8dc8046..d6f0430 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -166,6 +166,7 @@ public:
virtual void scroll(long nDelta) SAL_OVERRIDE;
virtual void contextDestroyed() SAL_OVERRIDE;
+ const OpenGLWindow* getOpenGLWindow() const;
void updateOpenGLWindow();
private:
ChartView* mpView;
@@ -208,6 +209,11 @@ void GL2DRenderer::contextDestroyed()
mbContextDestroyed = true;
}
+const OpenGLWindow* GL2DRenderer::getOpenGLWindow() const
+{
+ return mpWindow;
+}
+
void GL2DRenderer::updateOpenGLWindow()
{
if(mbContextDestroyed)
@@ -2765,7 +2771,7 @@ void ChartView::render()
bool bRender = pShapeFactory->preRender(pWindow);
if(bRender)
{
- pShapeFactory->render(mxRootShape);
+ pShapeFactory->render(mxRootShape, pWindow != mp2DRenderer->getOpenGLWindow());
pShapeFactory->postRender(pWindow);
}
}
diff --git a/chart2/source/view/main/DummyXShape.hxx b/chart2/source/view/main/DummyXShape.hxx
index ee9e1af..54f5df4 100644
--- a/chart2/source/view/main/DummyXShape.hxx
+++ b/chart2/source/view/main/DummyXShape.hxx
@@ -395,6 +395,7 @@ public:
virtual void render() SAL_OVERRIDE;
void clear();
+ void invalidateInit() { mbNotInit = true; }
TextCache& getTextCache() { return maTextCache;}
private:
diff --git a/chart2/source/view/main/OpenglShapeFactory.cxx b/chart2/source/view/main/OpenglShapeFactory.cxx
index c486f01..a26024e 100644
--- a/chart2/source/view/main/OpenglShapeFactory.cxx
+++ b/chart2/source/view/main/OpenglShapeFactory.cxx
@@ -446,9 +446,13 @@ uno::Reference< drawing::XShape >
return pText;
}
-void OpenglShapeFactory::render(uno::Reference< drawing::XShapes > xRootShape)
+void OpenglShapeFactory::render(uno::Reference< drawing::XShapes > xRootShape, bool bInitOpenGL)
{
dummy::DummyChart& rChart = dynamic_cast<dummy::DummyChart&>(*xRootShape.get());
+ if(bInitOpenGL)
+ {
+ rChart.invalidateInit();
+ }
rChart.render();
}
commit 46cea34638b371570073c0e86f79969753c543ed
Author: Jan Holesovsky <kendy at collabora.com>
Date: Sat May 17 04:32:58 2014 +0200
opengl charts: Move the init from sc to chart2, to have the right parent.
Change-Id: I1e23329345e00e7d8e1f269c832e84d015824c0a
diff --git a/chart2/Library_chartcontroller.mk b/chart2/Library_chartcontroller.mk
index b7e86bf..9657998 100644
--- a/chart2/Library_chartcontroller.mk
+++ b/chart2/Library_chartcontroller.mk
@@ -43,6 +43,7 @@ $(eval $(call gb_Library_use_libraries,chartcontroller,\
ucbhelper \
utl \
vcl \
+ vclopengl \
$(gb_UWINAPI) \
))
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index b57045d..d5eca79 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -726,6 +726,9 @@ void SAL_CALL ChartController::dispose()
//--release all resources and references
{
+ uno::Reference< chart2::X3DChartWindowProvider > x3DWindowProvider(getModel(), uno::UNO_QUERY_THROW);
+ x3DWindowProvider->setWindow(0);
+
uno::Reference< util::XModeChangeBroadcaster > xViewBroadcaster( m_xChartView, uno::UNO_QUERY );
if( xViewBroadcaster.is() )
xViewBroadcaster->removeModeChangeListener(this);
diff --git a/chart2/source/controller/main/ChartWindow.cxx b/chart2/source/controller/main/ChartWindow.cxx
index 917d69e..37335c4 100644
--- a/chart2/source/controller/main/ChartWindow.cxx
+++ b/chart2/source/controller/main/ChartWindow.cxx
@@ -22,8 +22,11 @@
#include "HelpIds.hrc"
#include <vcl/help.hxx>
+#include <vcl/openglwin.hxx>
#include <vcl/settings.hxx>
+#include <com/sun/star/chart2/X3DChartWindowProvider.hpp>
+
using namespace ::com::sun::star;
namespace
@@ -42,10 +45,11 @@ namespace
namespace chart
{
-ChartWindow::ChartWindow( WindowController* pWindowController, Window* pParent, WinBits nStyle )
+ChartWindow::ChartWindow( ChartController* pController, Window* pParent, WinBits nStyle )
: Window(pParent, nStyle)
- , m_pWindowController( pWindowController )
+ , m_pWindowController( pController )
, m_bInPaint(false)
+ , m_pOpenGLWindow(new OpenGLWindow(this))
{
this->SetHelpId( HID_SCH_WIN_DOCUMENT );
this->SetMapMode( MapMode(MAP_100TH_MM) );
@@ -55,10 +59,21 @@ ChartWindow::ChartWindow( WindowController* pWindowController, Window* pParent,
EnableRTL( false );
if( pParent )
pParent->EnableRTL( false );// #i96215# necessary for a correct position of the context menu in rtl mode
+
+ m_pOpenGLWindow->Show();
+ uno::Reference< chart2::X3DChartWindowProvider > x3DWindowProvider(pController->getModel(), uno::UNO_QUERY_THROW);
+ sal_uInt64 nWindowPtr = reinterpret_cast<sal_uInt64>(m_pOpenGLWindow);
+ x3DWindowProvider->setWindow(nWindowPtr);
}
ChartWindow::~ChartWindow()
{
+ if (m_pWindowController && m_pWindowController->getModel().is())
+ {
+ uno::Reference< chart2::X3DChartWindowProvider > x3DWindowProvider(m_pWindowController->getModel(), uno::UNO_QUERY_THROW);
+ x3DWindowProvider->setWindow(0);
+ }
+ delete m_pOpenGLWindow;
}
void ChartWindow::clear()
@@ -79,10 +94,18 @@ void ChartWindow::PrePaint()
void ChartWindow::Paint( const Rectangle& rRect )
{
m_bInPaint = true;
- if( m_pWindowController )
- m_pWindowController->execute_Paint( rRect );
+ if (m_pOpenGLWindow && m_pOpenGLWindow->IsVisible())
+ {
+ m_pOpenGLWindow->Paint(rRect);
+ }
+ else if (m_pWindowController)
+ {
+ m_pWindowController->execute_Paint(rRect);
+ }
else
+ {
Window::Paint( rRect );
+ }
m_bInPaint = false;
}
@@ -124,6 +147,8 @@ void ChartWindow::Resize()
m_pWindowController->execute_Resize();
else
Window::Resize();
+
+ m_pOpenGLWindow->SetSizePixel(GetSizePixel());
}
void ChartWindow::Activate()
diff --git a/chart2/source/controller/main/ChartWindow.hxx b/chart2/source/controller/main/ChartWindow.hxx
index ec5c05b..ee5884f 100644
--- a/chart2/source/controller/main/ChartWindow.hxx
+++ b/chart2/source/controller/main/ChartWindow.hxx
@@ -21,10 +21,12 @@
#include <vcl/window.hxx>
+class OpenGLWindow;
+
namespace chart
{
-class WindowController;
+class ChartController;
/** The ChartWindow collects events from the window and forwards them the to the controller
thus the controller can perform appropriate actions
@@ -33,7 +35,7 @@ thus the controller can perform appropriate actions
class ChartWindow : public Window
{
public:
- ChartWindow( WindowController* pWindowController, Window* pParent, WinBits nStyle );
+ ChartWindow( ChartController* pController, Window* pParent, WinBits nStyle );
virtual ~ChartWindow();
void clear();
@@ -63,8 +65,9 @@ public:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible() SAL_OVERRIDE;
private:
- WindowController* m_pWindowController;
+ ChartController* m_pWindowController;
bool m_bInPaint;
+ OpenGLWindow* m_pOpenGLWindow;
void adjustHighContrastMode();
};
diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx
index 2d2a848..0fb584b 100644
--- a/chart2/source/model/main/ChartModel.cxx
+++ b/chart2/source/model/main/ChartModel.cxx
@@ -1412,7 +1412,6 @@ void ChartModel::setWindow( const sal_uInt64 nWindowPtr )
{
void* pPtr = (void*)nWindowPtr;
OpenGLWindow* pWindow = reinterpret_cast<OpenGLWindow*>(pPtr);
- assert(pWindow);
mpOpenGLWindow = pWindow;
}
diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 62e5ec9..f786c09 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -47,8 +47,8 @@ void RenderThread::renderFrame()
if(!mpChart->mbValidContext)
return;
- mpChart->mrWindow.getContext().makeCurrent();
- Size aSize = mpChart->mrWindow.GetSizePixel();
+ mpChart->mpWindow->getContext().makeCurrent();
+ Size aSize = mpChart->mpWindow->GetSizePixel();
mpChart->mpRenderer->SetSize(aSize);
if(mpChart->mbNeedsNewRender)
{
@@ -64,7 +64,7 @@ void RenderThread::renderFrame()
}
mpChart->mpRenderer->ProcessUnrenderedShape(mpChart->mbNeedsNewRender);
mpChart->mbNeedsNewRender = false;
- mpChart->mrWindow.getContext().swapBuffers();
+ mpChart->mpWindow->getContext().swapBuffers();
}
@@ -127,10 +127,10 @@ void RenderAnimationThread::execute()
GL3DBarChart::GL3DBarChart(
const css::uno::Reference<css::chart2::XChartType>& xChartType,
- OpenGLWindow& rWindow) :
+ OpenGLWindow* pWindow) :
mxChartType(xChartType),
mpRenderer(new opengl3D::OpenGL3DRenderer()),
- mrWindow(rWindow),
+ mpWindow(pWindow),
mpCamera(NULL),
mbValidContext(true),
mpTextCache(new opengl3D::TextCache()),
@@ -142,9 +142,13 @@ GL3DBarChart::GL3DBarChart(
mbNeedsNewRender(true),
mbCameraInit(false)
{
- Size aSize = mrWindow.GetSizePixel();
+ Size aSize;
+ if (mpWindow)
+ {
+ mpWindow->setRenderer(this);
+ Size aSize = mpWindow->GetSizePixel();
+ }
mpRenderer->SetSize(aSize);
- mrWindow.setRenderer(this);
mpRenderer->init();
}
@@ -162,8 +166,8 @@ GL3DBarChart::~GL3DBarChart()
if(mpRenderThread.is())
mpRenderThread->join();
osl::MutexGuard aGuard(maMutex);
- if(mbValidContext)
- mrWindow.setRenderer(NULL);
+ if(mbValidContext && mpWindow)
+ mpWindow->setRenderer(NULL);
}
namespace {
@@ -288,7 +292,7 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
BarInformation(glm::vec3(nXPos, nYPos, float(nVal/nMaxVal)),
nVal, nIndex, nSeriesIndex)));
- maShapes.push_back(new opengl3D::Bar(mpRenderer.get(), aBarPosition, nColor, nId));
+ //maShapes.push_back(new opengl3D::Bar(mpRenderer.get(), aBarPosition, nColor, nId));
nId += ID_STEP;
}
@@ -403,10 +407,10 @@ void GL3DBarChart::update()
{
if(mpRenderThread.is())
mpRenderThread->join();
- Size aSize = mrWindow.GetSizePixel();
- mrWindow.getContext().setWinSize(aSize);
+ Size aSize = mpWindow->GetSizePixel();
+ mpWindow->getContext().setWinSize(aSize);
mpRenderThread = rtl::Reference<RenderThread>(new RenderOneFrameThread(this));
- mrWindow.getContext().resetCurrent();
+ mpWindow->getContext().resetCurrent();
mpRenderThread->launch();
}
@@ -438,10 +442,10 @@ void GL3DBarChart::moveToDefault()
if(mpRenderThread.is())
mpRenderThread->join();
- Size aSize = mrWindow.GetSizePixel();
- mrWindow.getContext().setWinSize(aSize);
+ Size aSize = mpWindow->GetSizePixel();
+ mpWindow->getContext().setWinSize(aSize);
mpRenderThread = rtl::Reference<RenderThread>(new RenderAnimationThread(this, maCameraPosition, maDefaultCameraPosition, STEPS));
- mrWindow.getContext().resetCurrent();
+ mpWindow->getContext().resetCurrent();
mpRenderThread->launch();
/*
@@ -496,10 +500,10 @@ void GL3DBarChart::clickedAt(const Point& rPos, sal_uInt16 nButtons)
glm::vec3 maTargetPosition = rBarInfo.maPos;
maTargetPosition.z += 240;
maTargetPosition.y += BAR_SIZE_Y / 2.0f;
- Size aSize = mrWindow.GetSizePixel();
- mrWindow.getContext().setWinSize(aSize);
+ Size aSize = mpWindow->GetSizePixel();
+ mpWindow->getContext().setWinSize(aSize);
mpRenderThread = rtl::Reference<RenderThread>(new RenderAnimationThread(this, maCameraPosition, maTargetPosition, STEPS));
- mrWindow.getContext().resetCurrent();
+ mpWindow->getContext().resetCurrent();
mpRenderThread->launch();
/*
@@ -577,11 +581,11 @@ void GL3DBarChart::moveToCorner()
if(mpRenderThread.is())
mpRenderThread->join();
- Size aSize = mrWindow.GetSizePixel();
- mrWindow.getContext().setWinSize(aSize);
+ Size aSize = mpWindow->GetSizePixel();
+ mpWindow->getContext().setWinSize(aSize);
mpRenderThread = rtl::Reference<RenderThread>(new RenderAnimationThread(this, getCornerPosition(mnCornerId),
maCameraPosition, STEPS));
- mrWindow.getContext().resetCurrent();
+ mpWindow->getContext().resetCurrent();
mpRenderThread->launch();
// TODO: moggi: add to thread
@@ -604,6 +608,12 @@ void GL3DBarChart::contextDestroyed()
mbValidContext = false;
}
+void GL3DBarChart::setOpenGLWindow(OpenGLWindow* pWindow)
+{
+ if (mpWindow != pWindow)
+ mpWindow = pWindow;
+}
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/view/inc/GL3DBarChart.hxx b/chart2/source/view/inc/GL3DBarChart.hxx
index 2517627..56bac83 100644
--- a/chart2/source/view/inc/GL3DBarChart.hxx
+++ b/chart2/source/view/inc/GL3DBarChart.hxx
@@ -49,7 +49,7 @@ class GL3DBarChart : public GL3DPlotterBase, public IRenderer
public:
GL3DBarChart(
const css::uno::Reference<css::chart2::XChartType>& xChartType,
- OpenGLWindow& rContext);
+ OpenGLWindow* pContext);
virtual ~GL3DBarChart();
@@ -65,6 +65,8 @@ public:
virtual void scroll(long nDelta) SAL_OVERRIDE;
virtual void contextDestroyed() SAL_OVERRIDE;
+ void setOpenGLWindow(OpenGLWindow* pWindow);
+
private:
void moveToCorner();
@@ -75,7 +77,7 @@ private:
boost::ptr_vector<opengl3D::Renderable3DObject> maShapes;
boost::scoped_ptr<opengl3D::OpenGL3DRenderer> mpRenderer;
- OpenGLWindow& mrWindow;
+ OpenGLWindow* mpWindow;
opengl3D::Camera* mpCamera;
bool mbValidContext;
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index 2e8dc25..8dc8046 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -3250,7 +3250,13 @@ void ChartView::createShapes3D()
if (!m_pGL3DPlotter)
{
- m_pGL3DPlotter.reset(new GL3DBarChart(xChartType, *pWindow));
+ m_pGL3DPlotter.reset(new GL3DBarChart(xChartType, pWindow));
+ }
+ else
+ {
+ GL3DBarChart* pChart = dynamic_cast<GL3DBarChart*>(m_pGL3DPlotter.get());
+ if (pChart)
+ pChart->setOpenGLWindow(pWindow);
}
uno::Reference< XDataSeriesContainer > xDataSeriesContainer( xChartType, uno::UNO_QUERY );
diff --git a/sc/source/ui/drawfunc/fuins2.cxx b/sc/source/ui/drawfunc/fuins2.cxx
index fa9dbfd..0a7703d7 100644
--- a/sc/source/ui/drawfunc/fuins2.cxx
+++ b/sc/source/ui/drawfunc/fuins2.cxx
@@ -544,22 +544,6 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
ScDocument& rScDoc = pScDocSh->GetDocument();
bool bUndo (rScDoc.IsUndoEnabled());
- Window* pParentWindow = rData.GetActiveWin();
- OpenGLWindow* pChildWindow = new OpenGLWindow(pParentWindow);
- Size aWindowSize = pChildWindow->LogicToPixel( aSize, MapMode( MAP_100TH_MM ) );
- pChildWindow->SetSizePixel(aWindowSize);
- pChildWindow->Show();
- uno::Reference< chart2::X3DChartWindowProvider > x3DWindowProvider( xChartModel, uno::UNO_QUERY_THROW );
- sal_uInt64 nWindowPtr = reinterpret_cast<sal_uInt64>(pChildWindow);
- x3DWindowProvider->setWindow(nWindowPtr);
- ScGridWindow* pGridWindow = dynamic_cast<ScGridWindow*>(pParentWindow);
- if(pGridWindow)
- {
- pGridWindow->AddChildWindow(pChildWindow);
- }
- else
- SAL_WARN("sc", "not a grid window. You are in serious trouble");
-
if( pReqArgs )
{
const SfxPoolItem* pItem;
@@ -634,7 +618,6 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
// get chart position (from window size and data range)
aStart = pViewSh->GetChartInsertPos( aSize, aPositionRange );
}
- pChildWindow->SetPosPixel(pChildWindow->LogicToPixel(aStart, MapMode(MAP_100TH_MM)));
Rectangle aRect (aStart, aSize);
SdrOle2Obj* pObj = new SdrOle2Obj( svt::EmbeddedObjectRef( xObj, nAspect ), aName, aRect);
@@ -729,7 +712,6 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
sal_Int16 nDialogRet = xDialog->execute();
if( nDialogRet == ui::dialogs::ExecutableDialogResults::CANCEL )
{
- pGridWindow->DeleteChildWindow(pChildWindow);
// leave OLE inplace mode and unmark
OSL_ASSERT( pViewShell );
OSL_ASSERT( pView );
commit df5202ff193fb832d621cab3c942c5dce4e6c6b8
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date: Fri Jul 18 15:58:44 2014 +0200
Avoid a warning, return early on empty URL.
Change-Id: Ie4eb55fa52ee97eb98a5269658ce5183a287618b
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
index c22bdcb..b608b85 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -216,6 +216,10 @@ uno::Reference< media::XPlayer > MediaWindowImpl::createPlayer( const OUString&
{
uno::Reference< media::XPlayer > xPlayer;
+
+ if( rURL.isEmpty() )
+ return xPlayer;
+
if (SvtSecurityOptions().isUntrustedReferer(rReferer)) {
return xPlayer;
}
More information about the Libreoffice-commits
mailing list