chart2/source/controller/main/ChartWindow.cxx | 18 +++++++++++------- chart2/source/view/charttypes/GL3DBarChart.cxx | 7 +++++++ 2 files changed, 18 insertions(+), 7 deletions(-)
New commits: commit a17fc5252bedac1eadbad8f68adea043a27c84ac Author: Zolnai Tamás <[email protected]> Date: Thu Aug 21 17:02:32 2014 +0200 Reinitialize GL3D renderer when OpenGL window is changed Without it when we switch sheets in Calc or slides in Impress and go back to that page where the GL3DBar chart is then the renderer does not work. Change-Id: I9aa6203ed5aa7f94627d886b2f2e5ad34d493843 diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 75449b4..af6f20c 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -939,7 +939,14 @@ void GL3DBarChart::contextDestroyed() void GL3DBarChart::setOpenGLWindow(OpenGLWindow* pWindow) { if (mpWindow != pWindow) + { mpWindow = pWindow; + Size aSize = mpWindow->GetSizePixel(); + mpRenderer->SetSize(aSize); + mpWindow->setRenderer(this); + mpRenderer->init(); + mbValidContext = true; + } } } commit 1c42b785884eb97daeb861f958a4d84457a44e71 Author: Zolnai Tamás <[email protected]> Date: Thu Aug 21 16:00:14 2014 +0200 Don't create an OpenGL window in case of normal charts. Change-Id: Idb4506712d3902c12aa881a85ddf69a281edff82 diff --git a/chart2/source/controller/main/ChartWindow.cxx b/chart2/source/controller/main/ChartWindow.cxx index 40e6933..dde5006 100644 --- a/chart2/source/controller/main/ChartWindow.cxx +++ b/chart2/source/controller/main/ChartWindow.cxx @@ -49,7 +49,7 @@ ChartWindow::ChartWindow( ChartController* pController, Window* pParent, WinBits : Window(pParent, nStyle) , m_pWindowController( pController ) , m_bInPaint(false) - , m_pOpenGLWindow(new OpenGLWindow(this)) + , m_pOpenGLWindow(getenv("CHART_DUMMY_FACTORY") ? new OpenGLWindow(this) : 0) { this->SetHelpId( HID_SCH_WIN_DOCUMENT ); this->SetMapMode( MapMode(MAP_100TH_MM) ); @@ -60,11 +60,14 @@ ChartWindow::ChartWindow( ChartController* pController, Window* pParent, WinBits 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); - x3DWindowProvider->update(); + if( m_pOpenGLWindow ) + { + 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); + x3DWindowProvider->update(); + } } ChartWindow::~ChartWindow() @@ -150,7 +153,8 @@ void ChartWindow::Resize() else Window::Resize(); - m_pOpenGLWindow->SetSizePixel(GetSizePixel()); + if( m_pOpenGLWindow ) + m_pOpenGLWindow->SetSizePixel(GetSizePixel()); } void ChartWindow::Activate()
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
