[Libreoffice-commits] core.git: configure.ac vcl/unx
Caolán McNamara
caolanm at redhat.com
Sat Dec 2 20:19:12 UTC 2017
configure.ac | 2 +-
vcl/unx/gtk/gtkinst.cxx | 2 +-
vcl/unx/gtk3/gtk3gtkinst.cxx | 30 ++----------------------------
3 files changed, 4 insertions(+), 30 deletions(-)
New commits:
commit 5eb9b6b65ecea61ce7faaff813229979436cbe51
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Dec 1 14:27:17 2017 +0000
require at least gtk3 3.16.0 to build and run gtk3 bits
Change-Id: I38cd6bcd9ed01695be4345add9d7c0a43a921d04
Reviewed-on: https://gerrit.libreoffice.org/45721
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/configure.ac b/configure.ac
index 3b1a2040e955..cc53712e25af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9724,7 +9724,7 @@ if test "x$enable_gtk3" = "xyes"; then
AC_MSG_ERROR([System cairo required for gtk3 support, do not combine --enable-gtk3 with --without-system-cairo])
fi
: ${with_system_cairo:=yes}
- PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.14 gtk+-unix-print-3.0 gmodule-no-export-2.0 glib-2.0 >= 2.38 cairo, ENABLE_GTK3="TRUE", ENABLE_GTK3="")
+ PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.16 gtk+-unix-print-3.0 gmodule-no-export-2.0 glib-2.0 >= 2.38 cairo, ENABLE_GTK3="TRUE", ENABLE_GTK3="")
if test "x$ENABLE_GTK3" = "xTRUE"; then
R="gtk3"
dnl Avoid installed by unpackaged files for now.
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
index 9896aa5bdbad..b6982a0a0a21 100644
--- a/vcl/unx/gtk/gtkinst.cxx
+++ b/vcl/unx/gtk/gtkinst.cxx
@@ -82,7 +82,7 @@ extern "C"
XInitThreads();
#if GTK_CHECK_VERSION(3,0,0)
- if (gtk_minor_version < 14)
+ if (gtk_minor_version < 16)
{
g_warning("require a newer gtk than 3.%d for theme expectations", gtk_minor_version);
return nullptr;
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index de4d94dc6a5d..8ef4b983077c 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -911,7 +911,6 @@ Reference< XInterface > GtkInstance::CreateDragSource()
class GtkOpenGLContext : public OpenGLContext
{
GLWindow m_aGLWin;
-#if GTK_CHECK_VERSION(3,16,0)
GtkWidget *m_pGLArea;
GdkGLContext *m_pContext;
guint m_nAreaFrameBuffer;
@@ -921,12 +920,10 @@ class GtkOpenGLContext : public OpenGLContext
guint m_nFrameScratchBuffer;
guint m_nRenderScratchBuffer;
guint m_nDepthScratchBuffer;
-#endif
public:
GtkOpenGLContext()
: OpenGLContext()
-#if GTK_CHECK_VERSION(3,16,0)
, m_pGLArea(nullptr)
, m_pContext(nullptr)
, m_nAreaFrameBuffer(0)
@@ -936,7 +933,6 @@ public:
, m_nFrameScratchBuffer(0)
, m_nRenderScratchBuffer(0)
, m_nDepthScratchBuffer(0)
-#endif
{
}
@@ -960,7 +956,6 @@ private:
virtual const GLWindow& getOpenGLWindow() const override { return m_aGLWin; }
virtual GLWindow& getModifiableOpenGLWindow() override { return m_aGLWin; }
-#if GTK_CHECK_VERSION(3,16,0)
static void signalDestroy(GtkWidget*, gpointer context)
{
GtkOpenGLContext* pThis = static_cast<GtkOpenGLContext*>(context);
@@ -987,11 +982,8 @@ private:
return true;
}
-#endif
-
virtual void adjustToNewSize() override
{
-#if GTK_CHECK_VERSION(3,16,0)
if (!m_pGLArea)
return;
@@ -1030,13 +1022,10 @@ private:
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
GL_RENDERBUFFER_EXT, m_nDepthScratchBuffer);
glViewport(0, 0, width, height);
-
-#endif
}
virtual bool ImplInit() override
{
-#if GTK_CHECK_VERSION(3,16,0)
const SystemEnvData* pEnvData = m_pChildWindow->GetSystemData();
GtkWidget *pParent = static_cast<GtkWidget*>(pEnvData->pWidget);
m_pGLArea = gtk_gl_area_new();
@@ -1063,13 +1052,12 @@ private:
glGenFramebuffersEXT(1, &m_nFrameScratchBuffer);
glGenRenderbuffersEXT(1, &m_nRenderScratchBuffer);
glGenRenderbuffersEXT(1, &m_nDepthScratchBuffer);
-#endif
+
bool bRet = InitGL();
InitGLDebugging();
return bRet;
}
-#if GTK_CHECK_VERSION(3,16,0)
virtual void restoreDefaultFramebuffer() override
{
OpenGLContext::restoreDefaultFramebuffer();
@@ -1077,7 +1065,6 @@ private:
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
GL_RENDERBUFFER_EXT, m_nRenderScratchBuffer);
}
-#endif
virtual void makeCurrent() override
{
@@ -1086,7 +1073,6 @@ private:
clearCurrent();
-#if GTK_CHECK_VERSION(3,16,0)
if (m_pGLArea)
{
int scale = gtk_widget_get_scale_factor(m_pGLArea);
@@ -1104,25 +1090,18 @@ private:
GL_RENDERBUFFER_EXT, m_nDepthScratchBuffer);
glViewport(0, 0, width, height);
}
-#endif
registerAsCurrent();
}
virtual void destroyCurrentContext() override
{
-#if GTK_CHECK_VERSION(3,16,0)
gdk_gl_context_clear_current();
-#endif
}
virtual bool isCurrent() override
{
-#if GTK_CHECK_VERSION(3,16,0)
return m_pGLArea && gdk_gl_context_get_current() == m_pContext;
-#else
- return false;
-#endif
}
virtual void sync() override
@@ -1132,14 +1111,11 @@ private:
virtual void resetCurrent() override
{
clearCurrent();
-#if GTK_CHECK_VERSION(3,16,0)
gdk_gl_context_clear_current();
-#endif
}
virtual void swapBuffers() override
{
-#if GTK_CHECK_VERSION(3,16,0)
int scale = gtk_widget_get_scale_factor(m_pGLArea);
int width = m_aGLWin.Width * scale;
int height = m_aGLWin.Height * scale;
@@ -1157,10 +1133,9 @@ private:
glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);
gtk_gl_area_queue_render(GTK_GL_AREA(m_pGLArea));
-#endif
BuffersSwapped();
}
-#if GTK_CHECK_VERSION(3,16,0)
+
virtual ~GtkOpenGLContext() override
{
if (m_pContext)
@@ -1168,7 +1143,6 @@ private:
g_clear_object(&m_pContext);
}
}
-#endif
};
OpenGLContext* GtkInstance::CreateOpenGLContext()
More information about the Libreoffice-commits
mailing list