[Libreoffice-commits] core.git: Branch 'feature/chart-3d-chart2' - 5 commits - chart2/source include/vcl vcl/source

2014-05-25 Thread Markus Mohrhard
 chart2/source/view/charttypes/GL3DBarChart.cxx |   29 +++--
 chart2/source/view/inc/GL3DBarChart.hxx|3 +-
 include/vcl/openglwin.hxx  |2 -
 vcl/source/window/openglwin.cxx|2 -
 4 files changed, 27 insertions(+), 9 deletions(-)

New commits:
commit 667c3ea13d1afe8eb0fa9b9581383b3140229a0c
Author: Markus Mohrhard markus.mohrh...@collabora.co.uk
Date:   Mon May 26 03:20:12 2014 +0200

react only to left mouse click

Change-Id: Ia4c2c52b8803cd36d7ed32be559ba446589377e7

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index ea589ac..3f330a8 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -306,11 +306,14 @@ public:
 
 }
 
-void GL3DBarChart::clickedAt(const Point /*rPos*/)
+void GL3DBarChart::clickedAt(const Point /*rPos*/, sal_uInt16 nButtons)
 {
 if(mbBlockUserInput)
 return;
 
+if(nButtons != MOUSE_LEFT)
+return;
+
 mbBlockUserInput = true;
 sal_uInt32 nId = 5;
 /*
diff --git a/chart2/source/view/inc/GL3DBarChart.hxx 
b/chart2/source/view/inc/GL3DBarChart.hxx
index 377b18c..eb436db 100644
--- a/chart2/source/view/inc/GL3DBarChart.hxx
+++ b/chart2/source/view/inc/GL3DBarChart.hxx
@@ -50,7 +50,7 @@ public:
 
 virtual void update() SAL_OVERRIDE;
 
-virtual void clickedAt(const Point rPos) SAL_OVERRIDE;
+virtual void clickedAt(const Point rPos, sal_uInt16 nButtons) 
SAL_OVERRIDE;
 virtual void mouseDragMove(const Point rStartPos, const Point rEndPos, 
sal_uInt16 nButtons) SAL_OVERRIDE;
 virtual void scroll(long nDelta) SAL_OVERRIDE;
 virtual void contextDestroyed() SAL_OVERRIDE;
diff --git a/include/vcl/openglwin.hxx b/include/vcl/openglwin.hxx
index d2e86cc..85d1940 100644
--- a/include/vcl/openglwin.hxx
+++ b/include/vcl/openglwin.hxx
@@ -24,7 +24,7 @@ class VCLOPENGL_DLLPUBLIC IRenderer
 public:
 virtual ~IRenderer() {}
 virtual void update() = 0;
-virtual void clickedAt(const Point rPos) = 0;
+virtual void clickedAt(const Point rPos, sal_uInt16 nButtons) = 0;
 virtual void mouseDragMove(const Point rPosBegin, const Point rPosEnd, 
sal_uInt16 nButtons) = 0;
 virtual void scroll(long nDelta) = 0;
 
diff --git a/vcl/source/window/openglwin.cxx b/vcl/source/window/openglwin.cxx
index 455e455..1983376 100644
--- a/vcl/source/window/openglwin.cxx
+++ b/vcl/source/window/openglwin.cxx
@@ -68,7 +68,7 @@ void OpenGLWindow::MouseButtonUp( const MouseEvent rMEvt )
 Color aColor = GetPixel(aPoint);
 SAL_WARN(vcl.opengl, aColor.GetColor());
 if(mpRenderer)
-mpRenderer-clickedAt(aPoint);
+mpRenderer-clickedAt(aPoint, rMEvt.GetButtons());
 }
 else
 {
commit 4dc6f2d72a1c4faf05b42df0c5d441b2c00372ac
Author: Markus Mohrhard markus.mohrh...@collabora.co.uk
Date:   Mon May 26 03:15:18 2014 +0200

remove unnecessary debug message

Change-Id: I63e65bce671d1feab4ea93bdff906b597ce180c3

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 03897df..ea589ac 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -347,13 +347,13 @@ void GL3DBarChart::clickedAt(const Point /*rPos*/)
 
 }
 
-void GL3DBarChart::mouseDragMove(const Point rStartPos, const Point rEndPos, 
sal_uInt16 nButtons)
+void GL3DBarChart::mouseDragMove(const Point , const Point , sal_uInt16 
nButtons)
 {
 if(mbBlockUserInput)
 return;
 
 mbBlockUserInput = true;
-SAL_WARN(chart2.opengl, Dragging:   rStartPos   to :   rEndPos 
  Buttons:   nButtons);
+
 if(nButtons == MOUSE_RIGHT)
 {
 mnCornerId = (mnCornerId + 1) % 4;
commit 24a243f8207aba16412e6b0ea3a67e645d19c9fc
Author: Markus Mohrhard markus.mohrh...@collabora.co.uk
Date:   Mon May 26 03:14:48 2014 +0200

improve screen text positioning

Change-Id: Ia1f4ae40b8dbed2324c600f7ef68a33a5b04027b

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 73a41d8..03897df 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -343,7 +343,7 @@ void GL3DBarChart::clickedAt(const Point /*rPos*/)
 maShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache,
 OUString(Value: ) + OUString::number(rBarInfo.mnVal), 0));
 opengl3D::ScreenText* pScreenText = 
static_castopengl3D::ScreenText*(maShapes.back());
-pScreenText-setPosition(glm::vec2(-1.0f, 0.9f), glm::vec2(-0.6f, 0.75f));
+pScreenText-setPosition(glm::vec2(-0.9f, 0.9f), glm::vec2(-0.6f, 0.8f));
 
 }
 
commit 8d6776d00ea4313bb5a592db2ea31e7d50f6813e
Author: Markus Mohrhard markus.mohrh...@collabora.co.uk
Date:   Mon May 26 03:11:22 2014 +0200

block user input while we 

[Libreoffice-commits] core.git: Branch 'feature/chart-3d-chart2' - 5 commits - chart2/source include/vcl vcl/source

2014-05-22 Thread Markus Mohrhard
 chart2/source/view/charttypes/GL3DBarChart.cxx |   14 --
 chart2/source/view/inc/GL3DBarChart.hxx|2 ++
 chart2/source/view/main/GL3DRenderer.cxx   |   19 +++
 include/vcl/opengl/OpenGLContext.hxx   |2 ++
 include/vcl/openglwin.hxx  |2 ++
 vcl/source/opengl/OpenGLContext.cxx|7 +++
 vcl/source/opengl/OpenGLHelper.cxx |6 +++---
 vcl/source/window/openglwin.cxx|2 ++
 8 files changed, 49 insertions(+), 5 deletions(-)

New commits:
commit 032df92ebcb59cc614b703073fdb5f31aa8570fc
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Fri May 23 02:11:23 2014 +0200

Lsan: fix memory leak

Change-Id: I82a517a267cceaac4dd1030d45c67fc070e22def

diff --git a/include/vcl/opengl/OpenGLContext.hxx 
b/include/vcl/opengl/OpenGLContext.hxx
index a9df966..ed2a6c7 100644
--- a/include/vcl/opengl/OpenGLContext.hxx
+++ b/include/vcl/opengl/OpenGLContext.hxx
@@ -137,6 +137,8 @@ struct GLWindow
 bMultiSampleSupported(false)
 {
 }
+
+~GLWindow();
 };
 
 class VCLOPENGL_DLLPUBLIC OpenGLContext
diff --git a/vcl/source/opengl/OpenGLContext.cxx 
b/vcl/source/opengl/OpenGLContext.cxx
index 4128bf4..e07b341 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -19,6 +19,13 @@
 
 using namespace com::sun::star;
 
+GLWindow::~GLWindow()
+{
+#if defined( UNX )
+XFree(vi);
+#endif
+}
+
 OpenGLContext::OpenGLContext():
 mpWindow(NULL),
 m_pChildWindow(NULL),
commit 7410d9f8f0d927825ce8820ff8e3afc66c739fb5
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Fri May 23 02:01:03 2014 +0200

Lsan: fix memory leak

Change-Id: Id8adb7517960a33f9900cb773b62b84db71e795a

diff --git a/vcl/source/opengl/OpenGLHelper.cxx 
b/vcl/source/opengl/OpenGLHelper.cxx
index 50d5799..bace47b 100644
--- a/vcl/source/opengl/OpenGLHelper.cxx
+++ b/vcl/source/opengl/OpenGLHelper.cxx
@@ -38,14 +38,14 @@ OString loadShader(const OUString rFilename)
 {
 sal_uInt64 nSize = 0;
 aFile.getSize(nSize);
-char* content = new char[nSize+1];
+boost::scoped_arraychar content(new char[nSize+1]);
 sal_uInt64 nBytesRead = 0;
-aFile.read(content, nSize, nBytesRead);
+aFile.read(content.get(), nSize, nBytesRead);
 if(nSize != nBytesRead)
 assert(false);
 
 content[nSize] = 0;
-return OString(content);
+return OString(content.get());
 }
 else
 {
commit 640bdf827d45425b07e53bcb1eb223ebd45aea9f
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Fri May 23 01:58:41 2014 +0200

Lsan: fix memory leaks

Change-Id: I010c7c194bf0680a499077b6b364498a09542764

diff --git a/chart2/source/view/main/GL3DRenderer.cxx 
b/chart2/source/view/main/GL3DRenderer.cxx
index 7cec6af..e5e08d3 100644
--- a/chart2/source/view/main/GL3DRenderer.cxx
+++ b/chart2/source/view/main/GL3DRenderer.cxx
@@ -873,6 +873,8 @@ void OpenGL3DRenderer::RenderPolygon3DObject()
 polygon.verticesList.end(), DeletePointerVertices3D());
 std::for_each(polygon.normalsList.begin(),
 polygon.normalsList.end(), DeletePointerNormals3D());
+delete polygon.vertices;
+delete polygon.normals;
 m_Polygon3DInfoList.pop_front();
 }
 glDepthMask(GL_TRUE);
commit eea7e208486e57ac1ff60281c077570f1179aa47
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Fri May 23 01:41:49 2014 +0200

Lsan: fix memory leaks

Change-Id: I35adb022f12c6833f4f29b2e8dad44394a2c4be5

diff --git a/chart2/source/view/main/GL3DRenderer.cxx 
b/chart2/source/view/main/GL3DRenderer.cxx
index 1f8fe41..7cec6af 100644
--- a/chart2/source/view/main/GL3DRenderer.cxx
+++ b/chart2/source/view/main/GL3DRenderer.cxx
@@ -840,6 +840,19 @@ void OpenGL3DRenderer::RenderPolygon3D(Polygon3DInfo 
polygon)
 glUseProgram(0);
 }
 
+namespace {
+
+template typename T 
+struct DeletePointer
+{
+void operator()(T* p)
+{
+delete p;
+}
+};
+
+}
+
 void OpenGL3DRenderer::RenderPolygon3DObject()
 {
 glDepthMask(GL_FALSE);
@@ -856,6 +869,10 @@ void OpenGL3DRenderer::RenderPolygon3DObject()
 {
 RenderPolygon3D(polygon);
 }
+std::for_each(polygon.verticesList.begin(),
+polygon.verticesList.end(), DeletePointerVertices3D());
+std::for_each(polygon.normalsList.begin(),
+polygon.normalsList.end(), DeletePointerNormals3D());
 m_Polygon3DInfoList.pop_front();
 }
 glDepthMask(GL_TRUE);
commit d8af055bacfad18aebceb1be7163ef8bf5e4ff6d
Author: Markus Mohrhard markus.mohrh...@collabora.co.uk
Date:   Fri May 23 01:19:19 2014 +0200

Lsan: fix invalid memory access

The chart object can be destroyed after the context.

Change-Id: I5ae370638f296ea314ee11680e0a8d81a8fdbe69

diff --git