chart2/source/view/main/DummyXShape.cxx | 10 ++++++++-- chart2/source/view/main/DummyXShape.hxx | 2 ++ chart2/source/view/main/OpenGLRender.cxx | 14 -------------- svx/source/sdr/contact/viewobjectcontactofopenglobj.cxx | 5 +++++ 4 files changed, 15 insertions(+), 16 deletions(-)
New commits: commit 55c6b04344d29cff973a7ece32a8e4ed61f73252 Author: Markus Mohrhard <[email protected]> Date: Tue Apr 15 01:42:42 2014 +0200 don't try to init OpenGLRender in the constructor wait until the context has been created and we can actually render Change-Id: I841d64ae847a2fdc74954887d3a6fcfcd06fc6a3 diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx index 5a0f88e..dc22de2 100644 --- a/chart2/source/view/main/DummyXShape.cxx +++ b/chart2/source/view/main/DummyXShape.cxx @@ -1143,11 +1143,11 @@ void DummyXShapes::render() } DummyChart::DummyChart(uno::Reference< drawing::XShape > xTarget): - m_GLRender(xTarget) + m_GLRender(xTarget), + mbNotInit(true) { SAL_INFO("chart2.opengl", "DummyXShape::DummyChart()-----test: "); setName("com.sun.star.chart2.shapes"); - m_GLRender.InitOpenGL(); } void SAL_CALL DummyChart::setPosition( const awt::Point& aPosition ) @@ -1173,6 +1173,12 @@ void SAL_CALL DummyChart::setSize( const awt::Size& aSize ) void DummyChart::render() { + if(mbNotInit) + { + m_GLRender.InitOpenGL(); + mbNotInit = false; + } + SAL_INFO("chart2.opengl", "render chart"); m_GLRender.prepareToRender(); #if 0 diff --git a/chart2/source/view/main/DummyXShape.hxx b/chart2/source/view/main/DummyXShape.hxx index b5aeb26..0cff72f 100644 --- a/chart2/source/view/main/DummyXShape.hxx +++ b/chart2/source/view/main/DummyXShape.hxx @@ -407,6 +407,8 @@ private: public: OpenGLRender m_GLRender; + + bool mbNotInit; }; class DummyGroup2D : public DummyXShapes commit de2a419821a5b4aa39883ddfea9d6fa08cf7a857 Author: Markus Mohrhard <[email protected]> Date: Tue Apr 15 01:37:45 2014 +0200 remove the glew part in OpenGLRender.cxx The glew init part is now in vcl"s OpenGLContext class. Change-Id: I423e45cf7297df87cb8668b43f9243589b7e26ff diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index 0ccb353..8ab05b7 100755 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -81,8 +81,6 @@ int static checkGLError(const char *file, int line) return retCode; } -static bool bGlewInit = false; - #define CHECK_GL_ERROR() checkGLError(__FILE__, __LINE__) #define CHECK_GL_FRAME_BUFFER_STATUS() \ @@ -107,19 +105,7 @@ int OpenGLRender::InitOpenGL() { //TODO: moggi: get the information from the context mbArbMultisampleSupported = true; - if(!bGlewInit) - { - glewExperimental = GL_TRUE; - if (glewInit() != GLEW_OK) - { - SAL_WARN("chart2.opengl", "Failed to initialize GLEW"); - return -1; - } - else - bGlewInit = true; - } - // These guys don't just check support but setup the vtables. if (glewIsSupported("framebuffer_object") != GLEW_OK) { SAL_WARN("chart2.opengl", "GL stack has no framebuffer support"); commit 97fc07d3039f2b94fb4b31330235916146d99b01 Author: Markus Mohrhard <[email protected]> Date: Tue Apr 15 01:24:32 2014 +0200 initialize the OpenGL context as soon as possible Change-Id: I58051695d0ca8384fb771bfc74aeb228145f77e6 diff --git a/svx/source/sdr/contact/viewobjectcontactofopenglobj.cxx b/svx/source/sdr/contact/viewobjectcontactofopenglobj.cxx index 2cf0086..a4a8d90 100644 --- a/svx/source/sdr/contact/viewobjectcontactofopenglobj.cxx +++ b/svx/source/sdr/contact/viewobjectcontactofopenglobj.cxx @@ -8,6 +8,9 @@ */ #include <svx/sdr/contact/viewobjectcontactofopenglobj.hxx> +#include <svx/sdr/contact/viewcontactofopenglobj.hxx> + +#include <svx/svdoopengl.hxx> #include <vcl/outdev.hxx> #include <vcl/window.hxx> @@ -18,6 +21,8 @@ ViewObjectContactOfOpenGLObj::ViewObjectContactOfOpenGLObj( ObjectContact& rObjectContact, ViewContact& rViewContact ) : ViewObjectContactOfSdrObj( rObjectContact, rViewContact ) { + OpenGLContext& rContext = static_cast<SdrOpenGLObj&>(static_cast<ViewContactOfSdrObj&>(rViewContact).GetSdrObject()).getOpenGLContext(); + rContext.init(getWindow()); } ViewObjectContactOfOpenGLObj::~ViewObjectContactOfOpenGLObj() _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
