diff --git a/.gitignore b/.gitignore index 60f95eb..27cb43b 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,6 @@ /libreoffice-5.3.3.1.tar.xz /libreoffice-help-5.3.3.1.tar.xz /libreoffice-translations-5.3.3.1.tar.xz +/libreoffice-5.4.0.0.alpha1.tar.xz +/libreoffice-help-5.4.0.0.alpha1.tar.xz +/libreoffice-translations-5.4.0.0.alpha1.tar.xz diff --git a/0001-Related-rhbz-1334915-tdf-100158-hack-using-startcent.patch b/0001-Related-rhbz-1334915-tdf-100158-hack-using-startcent.patch deleted file mode 100644 index 80232c4..0000000 --- a/0001-Related-rhbz-1334915-tdf-100158-hack-using-startcent.patch +++ /dev/null @@ -1,50 +0,0 @@ -From e60e1d83dca62060585cf4054cda9e897176590c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 23 Mar 2017 14:13:27 +0000 -Subject: [PATCH] Related: rhbz#1334915 tdf#100158 hack using startcenter icon - under wayland - -cause I can get no traction with gnome#779143 to allow changing wayland -app_ids for windows, so might as well bodge something to make us look -less pathetic than the broken app icon - -Change-Id: I9810ba4908dd06a2fdbb2e58e7ad6ff4978ddd43 ---- - vcl/unx/gtk3/gtk3gtkframe.cxx | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx -index 1a4823e..745d297 100644 ---- a/vcl/unx/gtk3/gtk3gtkframe.cxx -+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx -@@ -1446,7 +1446,27 @@ void GtkSalFrame::Show( bool bVisible, bool /*bNoActivate*/ ) - m_pParent->addGrabLevel(); - } - -+#if defined(GDK_WINDOWING_WAYLAND) -+ //rhbz#1334915, gnome#779143, tdf#100158 -+ //gtk under wayland lacks a way to change the app_id -+ //of a window, so brute force everything as a -+ //startcenter when initially shown to at least get -+ //the default LibreOffice icon and not the broken -+ //app icon -+ if (GDK_IS_WAYLAND_DISPLAY(getGdkDisplay())) -+ { -+ OString sOrigName(g_get_prgname()); -+ g_set_prgname("libreoffice-startcenter"); -+ gtk_widget_show(m_pWindow); -+ g_set_prgname(sOrigName.getStr()); -+ } -+ else -+ { -+ gtk_widget_show(m_pWindow); -+ } -+#else - gtk_widget_show(m_pWindow); -+#endif - - if( isFloatGrabWindow() ) - { --- -2.9.3 - diff --git a/0001-Related-rhbz-1422353-make-writer-behave-like-calc-an.patch b/0001-Related-rhbz-1422353-make-writer-behave-like-calc-an.patch deleted file mode 100644 index 213d571..0000000 --- a/0001-Related-rhbz-1422353-make-writer-behave-like-calc-an.patch +++ /dev/null @@ -1,83 +0,0 @@ -From c910d1dae1a9fcf0591098244debc863dd59618a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Fri, 17 Feb 2017 16:23:28 +0000 -Subject: [PATCH] Related: rhbz#1422353 make writer behave like calc and - impress - -and start off by default maximized - -Change-Id: I8d464c28b61991d27cdb732da50ebfa61802d001 ---- - officecfg/registry/data/org/openoffice/Setup.xcu | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/officecfg/registry/data/org/openoffice/Setup.xcu b/officecfg/registry/data/org/openoffice/Setup.xcu -index 0a936bb..9ab5243 100644 ---- a/officecfg/registry/data/org/openoffice/Setup.xcu -+++ b/officecfg/registry/data/org/openoffice/Setup.xcu -@@ -199,7 +199,7 @@ - private:factory/smath - - -- -+ ,,,;4; - - - 13 -@@ -243,7 +243,7 @@ - private:factory/swriter/GlobalDocument - - -- -+ ,,,;4; - - - 10 -@@ -287,7 +287,7 @@ - private:factory/swriter - - -- -+ ,,,;4; - - - 2 -@@ -401,7 +401,7 @@ - WriterCommands - - -- -+ ,,,;4; - - - 2 -@@ -437,7 +437,7 @@ - private:factory/swriter/web - - -- -+ ,,,;4; - - - 11 -@@ -692,7 +692,7 @@ - private:factory/schart - - -- -+ ,,,;4; - - - 1 -@@ -734,7 +734,7 @@ - private:factory/sdatabase - - -- -+ ,,,;4; - - - 12 --- -2.9.3 - diff --git a/0001-Resolves-tdf-105998-distort-hairline-borders-to-fall.patch b/0001-Resolves-tdf-105998-distort-hairline-borders-to-fall.patch deleted file mode 100644 index 16e9cac..0000000 --- a/0001-Resolves-tdf-105998-distort-hairline-borders-to-fall.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 2e5d1e032d353884a1f391d9e55ca1be3f7a0b9d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 14 Feb 2017 08:57:50 +0000 -Subject: [PATCH] Resolves: tdf#105998 distort hairline borders to fall inside - the canvas - -if we are a hairline along the very right/bottom edge -of the canvas then distory the polygon inwards one pixel right/bottom so that -the hairline falls inside the paintable area and becomes visible - -Change-Id: Ie5713f6916cf5b47fdf14f86f034e38cda9900fd ---- - .../source/processor2d/vclpixelprocessor2d.cxx | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx -index b8e9795..216be6b 100644 ---- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx -+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx -@@ -165,6 +165,27 @@ namespace drawinglayer - return true; - } - -+ //Resolves: tdf#105998 if we are a hairline along the very right/bottom edge -+ //of the canvas then distory the polygon inwards one pixel right/bottom so that -+ //the hairline falls inside the paintable area and becomes visible -+ Size aSize = mpOutputDevice->GetOutputSize(); -+ basegfx::B2DRange aRange = aLocalPolygon.getB2DRange(); -+ basegfx::B2DRange aOutputRange = aRange; -+ aOutputRange.transform(maCurrentTransformation); -+ if (std::round(aOutputRange.getMaxX()) == aSize.Width() || std::round(aOutputRange.getMaxY()) == aSize.Height()) -+ { -+ basegfx::B2DRange aOnePixel(0, 0, 1, 1); -+ aOnePixel.transform(maCurrentTransformation); -+ double fXOnePixel = 1.0 / aOnePixel.getMaxX(); -+ double fYOnePixel = 1.0 / aOnePixel.getMaxY(); -+ -+ basegfx::B2DPoint aTopLeft(aRange.getMinX(), aRange.getMinY()); -+ basegfx::B2DPoint aTopRight(aRange.getMaxX() - fXOnePixel, aRange.getMinY()); -+ basegfx::B2DPoint aBottomLeft(aRange.getMinX(), aRange.getMaxY() - fYOnePixel); -+ basegfx::B2DPoint aBottomRight(aRange.getMaxX() - fXOnePixel, aRange.getMaxY() - fYOnePixel); -+ aLocalPolygon = basegfx::tools::distort(aLocalPolygon, aRange, aTopLeft, aTopRight, aBottomLeft, aBottomRight); -+ } -+ - const basegfx::BColor aLineColor(maBColorModifierStack.getModifiedColor(rSource.getBColor())); - - mpOutputDevice->SetFillColor(); --- -2.9.3 - diff --git a/0001-apparently-the-executable-does-not-need-pdfium-direc.patch b/0001-apparently-the-executable-does-not-need-pdfium-direc.patch new file mode 100644 index 0000000..757bcea --- /dev/null +++ b/0001-apparently-the-executable-does-not-need-pdfium-direc.patch @@ -0,0 +1,32 @@ +From 6f53cf281eb3c13fc516ff79decb70b2a87a96d0 Mon Sep 17 00:00:00 2001 +From: Markus Mohrhard +Date: Sat, 29 Apr 2017 05:11:40 +0200 +Subject: [PATCH] apparently the executable does not need pdfium directly + anymore + +Change-Id: If7ec9a18603005791ff948c7ecfddc5010ac88fe +Reviewed-on: https://gerrit.libreoffice.org/37091 +Tested-by: Jenkins +Reviewed-by: Markus Mohrhard +--- + xmlsecurity/Executable_pdfverify.mk | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/xmlsecurity/Executable_pdfverify.mk b/xmlsecurity/Executable_pdfverify.mk +index 9a67a785983a..11c22d1d7ea6 100644 +--- a/xmlsecurity/Executable_pdfverify.mk ++++ b/xmlsecurity/Executable_pdfverify.mk +@@ -11,10 +11,6 @@ $(eval $(call gb_Executable_Executable,pdfverify)) + + $(eval $(call gb_Executable_use_sdk_api,pdfverify)) + +-$(eval $(call gb_Executable_use_externals,pdfverify,\ +- pdfium \ +-)) +- + $(eval $(call gb_Executable_set_include,pdfverify,\ + $$(INCLUDE) \ + -I$(SRCDIR)/xmlsecurity/inc \ +-- +2.12.2 + diff --git a/0001-change-from-glew-to-epoxy.patch b/0001-change-from-glew-to-epoxy.patch deleted file mode 100644 index c6e0228..0000000 --- a/0001-change-from-glew-to-epoxy.patch +++ /dev/null @@ -1,1945 +0,0 @@ -From e2f5d3d365ced3da2005792c69d7e1cdbe5ece50 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Fri, 25 Nov 2016 20:25:27 +0000 -Subject: [PATCH] change from glew to epoxy - -cause that works under wayland out of the box and gtk3 uses it already - -Change-Id: Iefaac31e325534a81a5389f752804af917c1baef ---- - Makefile.fetch | 2 +- - RepositoryExternal.mk | 46 +++++------ - avmedia/Library_avmedia.mk | 2 +- - avmedia/Library_avmediaogl.mk | 6 +- - bin/check-elf-dynamic-objects | 2 +- - bin/lo-all-static-libs | 2 +- - canvas/Library_oglcanvas.mk | 7 +- - canvas/source/opengl/ogl_buffercontext.hxx | 2 +- - canvas/source/opengl/ogl_canvascustomsprite.cxx | 2 +- - canvas/source/opengl/ogl_canvashelper.cxx | 2 +- - canvas/source/opengl/ogl_canvastools.cxx | 2 +- - canvas/source/opengl/ogl_texturecache.cxx | 2 +- - canvas/source/opengl/ogl_tools.hxx | 3 +- - chart2/Library_chartcore.mk | 9 +-- - chart2/Library_chartopengl.mk | 4 +- - chart2/inc/pch/precompiled_chartcore.hxx | 2 +- - chart2/source/view/charttypes/GL3DBarChart.cxx | 2 +- - chart2/source/view/main/GL3DRenderer.cxx | 8 +- - chart2/source/view/main/OpenGLRender.cxx | 2 +- - config_host.mk.in | 6 +- - config_host/config_opengl.h.in | 10 --- - configure.ac | 21 ++--- - cui/Library_cui.mk | 2 +- - distro-configs/LibreOfficeFlatpak.conf | 1 - - download.lst | 7 +- - external/Module_external.mk | 2 +- - external/epoxy/Library_epoxy.mk | 63 +++++++++++++++ - external/{glew => epoxy}/Makefile | 0 - .../{glew/Module_glew.mk => epoxy/Module_epoxy.mk} | 9 +-- - external/epoxy/README | 5 ++ - external/epoxy/UnpackedTarball_epoxy.mk | 20 +++++ - external/epoxy/epoxy.windows.api.patch | 90 ++++++++++++++++++++++ - external/glew/ExternalPackage_glew.mk | 33 -------- - external/glew/ExternalProject_glew.mk | 36 --------- - external/glew/README | 6 -- - external/glew/UnpackedTarball_glew.mk | 48 ------------ - external/glew/glew-macosx-install-name.patch.1 | 13 ---- - external/glew/glew-msvc-disable-sse2.patch.1 | 10 --- - external/glew/glew-static-only.patch.1 | 12 --- - external/glew/glew-tmpdir.patch.1 | 13 ---- - external/glew/glew_use_CC_variable.patch.1 | 24 ------ - external/libgltf/ExternalProject_libgltf.mk | 10 +-- - external/libgltf/libgltf-msvc-x64.patch.1 | 31 ++++---- - include/vcl/opengl/OpenGLContext.hxx | 6 +- - include/vcl/opengl/OpenGLHelper.hxx | 2 +- - include/vcl/opengl/OpenGLWrapper.hxx | 2 +- - slideshow/Library_OGLTrans.mk | 9 +-- - slideshow/Library_slideshow.mk | 2 +- - slideshow/source/engine/opengl/TransitionImpl.cxx | 1 - - slideshow/source/engine/opengl/TransitionImpl.hxx | 3 +- - .../source/engine/opengl/TransitionerImpl.cxx | 2 +- - svx/Library_svxcore.mk | 2 +- - toolkit/Library_tk.mk | 2 +- - vcl/CppunitTest_vcl_bitmap_test.mk | 2 +- - vcl/CppunitTest_vcl_wmf_test.mk | 4 +- - vcl/Executable_icontest.mk | 2 +- - vcl/Executable_vcldemo.mk | 2 +- - vcl/Executable_visualbackendtest.mk | 1 - - vcl/Library_vcl.mk | 3 +- - vcl/Library_vclplug_gen.mk | 3 +- - vcl/Library_vclplug_gtk.mk | 2 +- - vcl/Library_vclplug_gtk3.mk | 2 +- - vcl/Library_vclplug_kde4.mk | 2 +- - vcl/inc/opengl/LineRenderUtils.hxx | 1 - - vcl/inc/opengl/VertexUtils.hxx | 2 +- - vcl/inc/opengl/framebuffer.hxx | 1 - - vcl/inc/opengl/program.hxx | 1 - - vcl/inc/opengl/texture.hxx | 2 +- - vcl/inc/pch/precompiled_vcl.hxx | 2 +- - vcl/inc/unx/saldisp.hxx | 2 +- - vcl/opengl/x11/gdiimpl.cxx | 31 ++++---- - vcl/osx/salobj.cxx | 4 +- - vcl/source/opengl/OpenGLContext.cxx | 34 ++------ - vcl/source/opengl/OpenGLHelper.cxx | 8 +- - vcl/unx/generic/app/saldisp.cxx | 1 - - vcl/workben/icontest.cxx | 2 - - 77 files changed, 340 insertions(+), 418 deletions(-) - delete mode 100644 config_host/config_opengl.h.in - create mode 100644 external/epoxy/Library_epoxy.mk - rename external/{glew => epoxy}/Makefile (100%) - rename external/{glew/Module_glew.mk => epoxy/Module_epoxy.mk} (69%) - create mode 100644 external/epoxy/README - create mode 100644 external/epoxy/UnpackedTarball_epoxy.mk - create mode 100644 external/epoxy/epoxy.windows.api.patch - delete mode 100644 external/glew/ExternalPackage_glew.mk - delete mode 100644 external/glew/ExternalProject_glew.mk - delete mode 100644 external/glew/README - delete mode 100644 external/glew/UnpackedTarball_glew.mk - delete mode 100644 external/glew/glew-macosx-install-name.patch.1 - delete mode 100644 external/glew/glew-msvc-disable-sse2.patch.1 - delete mode 100644 external/glew/glew-static-only.patch.1 - delete mode 100644 external/glew/glew-tmpdir.patch.1 - delete mode 100644 external/glew/glew_use_CC_variable.patch.1 - -diff --git a/Makefile.fetch b/Makefile.fetch -index 3e21be3..cf31e5b 100644 ---- a/Makefile.fetch -+++ b/Makefile.fetch -@@ -129,7 +129,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR) - $(call fetch_Optional,FONTCONFIG,FONTCONFIG_TARBALL) \ - $(call fetch_Optional,FREEHAND,FREEHAND_TARBALL) \ - $(call fetch_Optional,FREETYPE,FREETYPE_TARBALL) \ -- $(call fetch_Optional,GLEW,GLEW_TARBALL) \ -+ $(call fetch_Optional,EPOXY,EPOXY_TARBALL) \ - $(call fetch_Optional,GLM,GLM_TARBALL) \ - $(call fetch_Optional_pack,GOOGLE_DOCS_EXTENSION_PACK) \ - $(call fetch_Optional,GRAPHITE,GRAPHITE_TARBALL) \ -diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk -index 109b924..16ba7a8 100644 ---- a/RepositoryExternal.mk -+++ b/RepositoryExternal.mk -@@ -183,51 +183,43 @@ endef - - endif # SYSTEM_CPPUNIT - --ifneq ($(SYSTEM_GLEW),) -+ifneq ($(SYSTEM_EPOXY),) - --define gb_LinkTarget__use_glew -+define gb_LinkTarget__use_epoxy - $(call gb_LinkTarget_set_include,$(1),\ - $$(INCLUDE) \ -- $(GLEW_CFLAGS) \ -+ $(EPOXY_CFLAGS) \ - ) --$(call gb_LinkTarget_add_libs,$(1),$(GLEW_LIBS)) -+$(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS)) - - endef - --gb_ExternalProject__use_glew := -+gb_ExternalProject__use_epoxy := - --else # !SYSTEM_GLEW -+else # !SYSTEM_EPOXY - --$(eval $(call gb_Helper_register_packages_for_install,ooo,\ -- glew \ --)) -- --define gb_LinkTarget__use_glew --$(call gb_LinkTarget_use_package,$(1),glew) -+define gb_LinkTarget__use_epoxy - $(call gb_LinkTarget_set_include,$(1),\ -- -I$(call gb_UnpackedTarball_get_dir,glew/include) \ -- -DGLEW_NO_GLU \ -- $$(INCLUDE) \ -+ -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \ -+ $$(INCLUDE) \ - ) - --ifeq ($(COM),MSC) --$(call gb_LinkTarget_add_libs,$(1),\ -- $(call gb_UnpackedTarball_get_dir,glew)/lib/$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/$(wnt_arch_subdir_mandatory)/glew32d.lib,Release/$(wnt_arch_subdir_mandatory)/glew32.lib) \ --) --else --$(call gb_LinkTarget_add_libs,$(1),\ -- -L$(call gb_UnpackedTarball_get_dir,glew)/lib/ -lGLEW \ -+$(call gb_LinkTarget_use_libraries,$(1),\ -+ epoxy \ - ) --endif - - endef - --define gb_ExternalProject__use_glew --$(call gb_ExternalProject_use_external_project,$(1),glew) -+$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\ -+ epoxy \ -+)) -+ -+define gb_ExternalProject__use_epoxy -+$(call gb_ExternalProject_use_external_project,$(1),epoxy) - - endef - --endif # SYSTEM_GLEW -+endif # SYSTEM_EPOXY - - define gb_LinkTarget__use_iconv - $(call gb_LinkTarget_add_libs,$(1),-liconv) -@@ -3444,7 +3436,7 @@ $(call gb_LinkTarget_add_libs,$(1),\ - ) - else - $(call gb_LinkTarget_add_libs,$(1),\ -- $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.0$(gb_StaticLibrary_PLAINEXT) \ -+ $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.1$(gb_StaticLibrary_PLAINEXT) \ - ) - endif - -diff --git a/avmedia/Library_avmedia.mk b/avmedia/Library_avmedia.mk -index 4e8f3b1..e662fc3 100644 ---- a/avmedia/Library_avmedia.mk -+++ b/avmedia/Library_avmedia.mk -@@ -29,7 +29,7 @@ $(eval $(call gb_Library_use_externals,avmedia,\ - - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,avmedia,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/avmedia/Library_avmediaogl.mk b/avmedia/Library_avmediaogl.mk -index b7498bf..191fb75 100644 ---- a/avmedia/Library_avmediaogl.mk -+++ b/avmedia/Library_avmediaogl.mk -@@ -16,7 +16,7 @@ $(eval $(call gb_Library_use_sdk_api,avmediaogl)) - $(eval $(call gb_Library_use_externals,avmediaogl, \ - boost_headers \ - libgltf \ -- glew \ -+ epoxy \ - glm_headers \ - )) - -@@ -51,10 +51,6 @@ else ifeq ($(OS),MACOSX) - $(eval $(call gb_Library_use_system_darwin_frameworks,avmediaogl,\ - OpenGL \ - )) --else ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) --$(eval $(call gb_Library_add_libs,avmediaogl,\ -- -lGL \ --)) - endif - - # vim: set noet sw=4 ts=4: -diff --git a/bin/check-elf-dynamic-objects b/bin/check-elf-dynamic-objects -index f05d513..d189c1b 100755 ---- a/bin/check-elf-dynamic-objects -+++ b/bin/check-elf-dynamic-objects -@@ -110,7 +110,7 @@ local file="$1" - */libdesktop_detectorlo.so|*/ui-previewer|*/oosplash|*/gengal.bin) - whitelist="${whitelist} ${x11whitelist}" - ;; -- */libvclplug_genlo.so|*/libGLEW.so.*|*/libchartcorelo.so|*/libavmediaogl.so|*/libOGLTranslo.so|*/liboglcanvaslo.so|*/libchartopengllo.so) -+ */libvclplug_genlo.so|*/libchartcorelo.so|*/libavmediaogl.so|*/libOGLTranslo.so|*/liboglcanvaslo.so|*/libchartopengllo.so) - whitelist="${whitelist} ${x11whitelist} ${openglwhitelist}" - ;; - */libvcllo.so|*/libsofficeapp.so) -diff --git a/bin/lo-all-static-libs b/bin/lo-all-static-libs -index 813241e..9faa042 100755 ---- a/bin/lo-all-static-libs -+++ b/bin/lo-all-static-libs -@@ -63,7 +63,7 @@ echo $INSTDIR/$LIBO_LIB_FOLDER/lib*.a \ - $WORKDIR/UnpackedTarball/coinmp/CoinMP/src/.libs/*.a \ - $WORKDIR/UnpackedTarball/coinmp/CoinUtils/src/.libs/*.a \ - $WORKDIR/UnpackedTarball/coinmp/Osi/src/Osi/.libs/*.a \ -- $WORKDIR/UnpackedTarball/glew/lib/*.a \ -+ $WORKDIR/UnpackedTarball/epoxy/lib/*.a \ - $WORKDIR/UnpackedTarball/icu/source/lib/*.a \ - $WORKDIR/UnpackedTarball/langtag/liblangtag/.libs/*.a \ - $WORKDIR/UnpackedTarball/lcms2/src/.libs/*.a \ -diff --git a/canvas/Library_oglcanvas.mk b/canvas/Library_oglcanvas.mk -index 0118eb1..9d1042d 100644 ---- a/canvas/Library_oglcanvas.mk -+++ b/canvas/Library_oglcanvas.mk -@@ -42,7 +42,7 @@ $(eval $(call gb_Library_add_exception_objects,oglcanvas,\ - - $(eval $(call gb_Library_use_externals,oglcanvas,\ - boost_headers \ -- glew \ -+ epoxy \ - )) - - ifeq ($(strip $(OS)),MACOSX) -@@ -58,11 +58,6 @@ $(eval $(call gb_Library_use_system_win32_libs,oglcanvas,\ - opengl32 \ - )) - --else --$(eval $(call gb_Library_add_libs,oglcanvas,\ -- -lGL \ -- -lX11 \ --)) - endif - - # vim: set noet sw=4 ts=4: -diff --git a/canvas/source/opengl/ogl_buffercontext.hxx b/canvas/source/opengl/ogl_buffercontext.hxx -index 202e063..7f2066a 100644 ---- a/canvas/source/opengl/ogl_buffercontext.hxx -+++ b/canvas/source/opengl/ogl_buffercontext.hxx -@@ -10,7 +10,7 @@ - #ifndef INCLUDED_CANVAS_SOURCE_OPENGL_OGL_BUFFERCONTEXT_HXX - #define INCLUDED_CANVAS_SOURCE_OPENGL_OGL_BUFFERCONTEXT_HXX - --#include -+#include - - #include - #include -diff --git a/canvas/source/opengl/ogl_canvascustomsprite.cxx b/canvas/source/opengl/ogl_canvascustomsprite.cxx -index 8d38177..6b23d45 100644 ---- a/canvas/source/opengl/ogl_canvascustomsprite.cxx -+++ b/canvas/source/opengl/ogl_canvascustomsprite.cxx -@@ -9,7 +9,7 @@ - - #include - --#include -+#include - - #include - #include -diff --git a/canvas/source/opengl/ogl_canvashelper.cxx b/canvas/source/opengl/ogl_canvashelper.cxx -index 84a96ce..175a02b 100644 ---- a/canvas/source/opengl/ogl_canvashelper.cxx -+++ b/canvas/source/opengl/ogl_canvashelper.cxx -@@ -11,7 +11,7 @@ - - #include - #include --#include -+#include - - #include - #include -diff --git a/canvas/source/opengl/ogl_canvastools.cxx b/canvas/source/opengl/ogl_canvastools.cxx -index 657a220..3d9448b 100644 ---- a/canvas/source/opengl/ogl_canvastools.cxx -+++ b/canvas/source/opengl/ogl_canvastools.cxx -@@ -9,7 +9,7 @@ - - #include - --#include -+#include - - #include - #include -diff --git a/canvas/source/opengl/ogl_texturecache.cxx b/canvas/source/opengl/ogl_texturecache.cxx -index 08cdd2f..43fb7d8 100644 ---- a/canvas/source/opengl/ogl_texturecache.cxx -+++ b/canvas/source/opengl/ogl_texturecache.cxx -@@ -9,7 +9,7 @@ - - #include - --#include -+#include - - #include - -diff --git a/canvas/source/opengl/ogl_tools.hxx b/canvas/source/opengl/ogl_tools.hxx -index 8133212..469a5be 100644 ---- a/canvas/source/opengl/ogl_tools.hxx -+++ b/canvas/source/opengl/ogl_tools.hxx -@@ -11,8 +11,7 @@ - #define INCLUDED_CANVAS_SOURCE_OPENGL_OGL_TOOLS_HXX - - #include --#include -- -+#include - - namespace oglcanvas - { -diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk -index b15f634..cc06fbd 100644 ---- a/chart2/Library_chartcore.mk -+++ b/chart2/Library_chartcore.mk -@@ -32,7 +32,7 @@ $(eval $(call gb_Library_use_externals,chartcore,\ - - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,chartcore,\ -- glew \ -+ epoxy \ - )) - endif - -@@ -264,13 +264,6 @@ else ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) - $(eval $(call gb_Library_add_libs,chartcore,\ - $(DLOPEN_LIBS) \ - )) --ifeq ($(ENABLE_HEADLESS),) --$(eval $(call gb_Library_add_libs,chartcore,\ -- -lGL \ -- -lX11 \ --)) --endif #!ENABLE_HEADLESS -- - endif - - # vim: set noet sw=4 ts=4: -diff --git a/chart2/Library_chartopengl.mk b/chart2/Library_chartopengl.mk -index 95ea58d..53056aa 100644 ---- a/chart2/Library_chartopengl.mk -+++ b/chart2/Library_chartopengl.mk -@@ -22,7 +22,7 @@ $(eval $(call gb_Library_set_precompiled_header,chartopengl,$(SRCDIR)/chart2/inc - $(eval $(call gb_Library_use_externals,chartopengl,\ - boost_headers \ - glm_headers \ -- glew \ -+ epoxy \ - )) - - $(eval $(call gb_Library_use_sdk_api,chartopengl)) -@@ -68,8 +68,6 @@ $(eval $(call gb_Library_use_system_darwin_frameworks,chartopengl,\ - else ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) - $(eval $(call gb_Library_add_libs,chartopengl,\ - $(DLOPEN_LIBS) \ -- -lGL \ -- -lX11 \ - )) - endif - -diff --git a/chart2/inc/pch/precompiled_chartcore.hxx b/chart2/inc/pch/precompiled_chartcore.hxx -index 8d02451..908d7ac 100644 ---- a/chart2/inc/pch/precompiled_chartcore.hxx -+++ b/chart2/inc/pch/precompiled_chartcore.hxx -@@ -73,7 +73,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -169,6 +168,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx -index a4193da..401b664 100644 ---- a/chart2/source/view/charttypes/GL3DBarChart.cxx -+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx -@@ -9,7 +9,7 @@ - - #include - --#include -+#include - - #include - #include -diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx -index fb4fb13..e1e4c01 100644 ---- a/chart2/source/view/main/GL3DRenderer.cxx -+++ b/chart2/source/view/main/GL3DRenderer.cxx -@@ -7,7 +7,7 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --#include -+#include - - #include "GL3DRenderer.hxx" - -@@ -244,8 +244,8 @@ void OpenGL3DRenderer::ShaderResources::LoadShaders() - m_3DBatchNormalID = glGetAttribLocation(m_3DBatchProID, "vertexNormalModelspace"); - m_3DBatchColorID = glGetAttribLocation(m_3DBatchProID, "barColor"); - #if !defined MACOSX -- //check whether the texture array is support -- mbTexBatchSupport = GLEW_EXT_texture_array; -+ //check whether the texture array is supported -+ mbTexBatchSupport = epoxy_has_gl_extension("GL_EXT_texture_array"); - #endif - CHECK_GL_ERROR(); - if (mbTexBatchSupport) -@@ -401,7 +401,7 @@ void OpenGL3DRenderer::init() - m_fViewAngle = 30.0f; - m_3DProjection = glm::perspective(m_fViewAngle, (float)m_iWidth / (float)m_iHeight, 0.01f, 6000.0f); - -- maResources.m_b330Support = GLEW_VERSION_3_3; -+ maResources.m_b330Support = epoxy_gl_version() >= 33; - CHECK_GL_ERROR(); - maResources.LoadShaders(); - maPickingResources.LoadShaders(); -diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx -index 3182e66..91a3763 100644 ---- a/chart2/source/view/main/OpenGLRender.cxx -+++ b/chart2/source/view/main/OpenGLRender.cxx -@@ -7,7 +7,7 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --#include -+#include - #include - #include "OpenGLRender.hxx" - #include -diff --git a/config_host.mk.in b/config_host.mk.in -index 3d39dcd..2a8fe3d 100644 ---- a/config_host.mk.in -+++ b/config_host.mk.in -@@ -201,8 +201,8 @@ export GIO_LIBS=$(gb_SPACE)@GIO_LIBS@ - export GIT_REFERENCE_SRC=@GIT_REFERENCE_SRC@ - export GIT_LINK_SRC=@GIT_LINK_SRC@ - export GIT_NEEDED_SUBMODULES=@GIT_NEEDED_SUBMODULES@ --export GLEW_CFLAGS=$(gb_SPACE)@GLEW_CFLAGS@ --export GLEW_LIBS=$(gb_SPACE)@GLEW_LIBS@ -+export EPOXY_CFLAGS=$(gb_SPACE)@EPOXY_CFLAGS@ -+export EPOXY_LIBS=$(gb_SPACE)@EPOXY_LIBS@ - export GLM_CFLAGS=$(gb_SPACE)@GLM_CFLAGS@ - export GNOMEVFS_CFLAGS=$(gb_SPACE)@GNOMEVFS_CFLAGS@ - export GNOMEVFS_LIBS=$(gb_SPACE)@GNOMEVFS_LIBS@ -@@ -514,7 +514,7 @@ export SYSTEM_FIREBIRD=@SYSTEM_FIREBIRD@ - export SYSTEM_GENBRK=@SYSTEM_GENBRK@ - export SYSTEM_GENCCODE=@SYSTEM_GENCCODE@ - export SYSTEM_GENCMN=@SYSTEM_GENCMN@ --export SYSTEM_GLEW=@SYSTEM_GLEW@ -+export SYSTEM_EPOXY=@SYSTEM_EPOXY@ - export SYSTEM_GLM=@SYSTEM_GLM@ - export SYSTEM_GRAPHITE=@SYSTEM_GRAPHITE@ - export SYSTEM_HARFBUZZ=@SYSTEM_HARFBUZZ@ -diff --git a/config_host/config_opengl.h.in b/config_host/config_opengl.h.in -deleted file mode 100644 -index 67b9e47..0000000 ---- a/config_host/config_opengl.h.in -+++ /dev/null -@@ -1,10 +0,0 @@ --/* --Settings for OpenGL --*/ -- --#ifndef CONFIG_OPENGL_H --#define CONFIG_OPENGL_H -- --#define HAVE_GLEW_1_12 0 -- --#endif -diff --git a/configure.ac b/configure.ac -index 079e856..0f8e58d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1634,6 +1634,11 @@ AC_ARG_WITH(system-cairo, - [Use cairo libraries already on system. Happens automatically for - (implicit) --enable-gtk and for --enable-gtk3.])) - -+AC_ARG_WITH(system-epoxy, -+ AS_HELP_STRING([--with-system-epoxy], -+ [Use epoxy libraries already on system. Happens automatically for -+ --enable-gtk3.])) -+ - AC_ARG_WITH(myspell-dicts, - AS_HELP_STRING([--with-myspell-dicts], - [Adds myspell dictionaries to the LibreOffice installation set]), -@@ -8941,14 +8946,6 @@ AC_SUBST([GLM_CFLAGS]) - AC_SUBST([SYSTEM_GLM]) - - dnl =================================================================== --dnl Check for system glew --dnl =================================================================== --libo_CHECK_SYSTEM_MODULE([glew], [GLEW], [glew >= 1.10.0]) --AS_IF([test "$with_system_glew" = "yes"], -- [PKG_CHECK_EXISTS([glew >= 1.12.0], [AC_DEFINE([HAVE_GLEW_1_12])])], -- [AC_DEFINE([HAVE_GLEW_1_12])]) -- --dnl =================================================================== - dnl Check for system odbc - dnl =================================================================== - AC_MSG_CHECKING([which odbc headers to use]) -@@ -10497,7 +10494,7 @@ if test "x$enable_gltf" != "xno" -a $_os != iOS -a $_os != Android -a "$ENABLE_H - AC_DEFINE(HAVE_FEATURE_GLTF,1) - if test "$with_system_libgltf" = "yes"; then - SYSTEM_LIBGLTF=TRUE -- PKG_CHECK_MODULES( LIBGLTF, [libgltf-0.0 >= 0.0.1] ) -+ PKG_CHECK_MODULES( LIBGLTF, [libgltf-0.1 >= 0.1.0] ) - FilterLibs "${LIBGLTF_LIBS}" - LIBGLTF_LIBS="${filteredlibs}" - else -@@ -11728,6 +11725,11 @@ AC_SUBST(CAIRO_CFLAGS) - AC_SUBST(CAIRO_LIBS) - - dnl =================================================================== -+dnl Check for system epoxy -+dnl =================================================================== -+libo_CHECK_SYSTEM_MODULE([epoxy], [EPOXY], [epoxy >= 1.3.1], ["-I${WORKDIR}/UnpackedTarball/epoxy/include"]) -+ -+dnl =================================================================== - dnl Test whether to use avahi - dnl =================================================================== - if test "$_os" = "WINNT"; then -@@ -12886,7 +12888,6 @@ AC_CONFIG_HEADERS([config_host/config_mpl.h]) - AC_CONFIG_HEADERS([config_host/config_orcus.h]) - AC_CONFIG_HEADERS([config_host/config_kde4.h]) - AC_CONFIG_HEADERS([config_host/config_oox.h]) --AC_CONFIG_HEADERS([config_host/config_opengl.h]) - AC_CONFIG_HEADERS([config_host/config_options.h]) - AC_CONFIG_HEADERS([config_host/config_options_calc.h]) - AC_CONFIG_HEADERS([config_host/config_test.h]) -diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk -index 6a63a1d..64f7844 100644 ---- a/cui/Library_cui.mk -+++ b/cui/Library_cui.mk -@@ -72,7 +72,7 @@ $(eval $(call gb_Library_use_externals,cui,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,cui,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/distro-configs/LibreOfficeFlatpak.conf b/distro-configs/LibreOfficeFlatpak.conf -index d5d6686..121d198 100644 ---- a/distro-configs/LibreOfficeFlatpak.conf -+++ b/distro-configs/LibreOfficeFlatpak.conf -@@ -11,7 +11,6 @@ - --without-system-coinmp - --without-system-cppunit - --without-system-firebird ----without-system-glew - --without-system-glm - --without-system-libabw - --without-system-libcdr -diff --git a/download.lst b/download.lst -index 3e3313b..9d7af4f 100644 ---- a/download.lst -+++ b/download.lst -@@ -29,6 +29,8 @@ export CURL_TARBALL := curl-7.51.0.tar.gz - export DBGHELP_DLL := 13fbc2e8b37ddf28181dd6d8081c2b8e-dbghelp.dll - export EBOOK_MD5SUM := 6b48eda57914e6343efebc9381027b78 - export EBOOK_TARBALL := libe-book-0.1.2.tar.bz2 -+export EPOXY_MD5SUM := 96f6620a9b005a503e7b44b0b528287d -+export EPOXY_TARBALL := libepoxy-1.3.1.tar.bz2 - export EPM_TARBALL := 3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz - export ETONYEK_MD5SUM := 77ff46936dcc83670557274e7dd2aa33 - export ETONYEK_VERSION_MICRO := 6 -@@ -54,7 +56,6 @@ export FONT_EMOJIONE_COLOR_TARBALL := EmojiOneColor-SVGinOT-1.3.tar.gz - export FREEHAND_MD5SUM := 8cf70c5dc4d24d2dc4a107f509d2d6d7 - export FREEHAND_TARBALL := libfreehand-0.1.1.tar.bz2 - export FREETYPE_TARBALL := dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2 --export GLEW_TARBALL := 3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip - export GLM_TARBALL := bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip - export GRAPHITE_TARBALL := 3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz - export HARFBUZZ_MD5SUM := 5986e1bfcd983d1f6caa53ef64c4abc5 -@@ -88,8 +89,8 @@ export LIBATOMIC_OPS_TARBALL := libatomic_ops-7_2d.zip - export LIBEOT_MD5SUM := aa24f5dd2a2992f4a116aa72af817548 - export LIBEOT_TARBALL := libeot-0.01.tar.bz2 - export LIBEXTTEXTCAT_TARBALL := 10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2 --export LIBGLTF_MD5SUM := d63a9f47ab048f5009d90693d6aa6424 --export LIBGLTF_TARBALL := libgltf-0.0.2.tar.bz2 -+export LIBGLTF_MD5SUM := 63ae962d0c436909979826fce0fca2fd -+export LIBGLTF_TARBALL := libgltf-0.1.0.tar.gz - export LIBLANGTAG_MD5SUM := 284f120247323a35122ab32b4b359c45 - export LIBLANGTAG_TARBALL := liblangtag-0.6.2.tar.bz2 - export LIBTOMMATH_MD5SUM := da283d2e3e72137d0c600ac36b991c9d -diff --git a/external/Module_external.mk b/external/Module_external.mk -index 1dbf97b..c14e668 100644 ---- a/external/Module_external.mk -+++ b/external/Module_external.mk -@@ -38,13 +38,13 @@ $(eval $(call gb_Module_add_moduledirs,external,\ - $(call gb_Helper_optional,CURL,curl) \ - $(call gb_Helper_optional,EBOOK,libebook) \ - $(call gb_Helper_optional,EPM,epm) \ -+ $(call gb_Helper_optional,EPOXY,epoxy) \ - $(call gb_Helper_optional,ETONYEK,libetonyek) \ - $(call gb_Helper_optional,EXPAT,expat) \ - $(call gb_Helper_optional,FIREBIRD,firebird) \ - $(call gb_Helper_optional,FONTCONFIG,fontconfig) \ - $(call gb_Helper_optional,FREEHAND,libfreehand) \ - $(call gb_Helper_optional,FREETYPE,freetype) \ -- $(call gb_Helper_optional,GLEW,glew) \ - $(call gb_Helper_optional,GLM,glm) \ - $(call gb_Helper_optional,GRAPHITE,graphite) \ - $(call gb_Helper_optional,HARFBUZZ,harfbuzz) \ -diff --git a/external/epoxy/Library_epoxy.mk b/external/epoxy/Library_epoxy.mk -new file mode 100644 -index 0000000..28f9dab ---- /dev/null -+++ b/external/epoxy/Library_epoxy.mk -@@ -0,0 +1,63 @@ -+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -+# -+# This file is part of the LibreOffice project. -+# -+# This Source Code Form is subject to the terms of the Mozilla Public -+# License, v. 2.0. If a copy of the MPL was not distributed with this -+# file, You can obtain one at http://mozilla.org/MPL/2.0/. -+# -+ -+$(eval $(call gb_Library_Library,epoxy)) -+ -+$(eval $(call gb_Library_use_unpacked,epoxy,epoxy)) -+ -+$(eval $(call gb_Library_set_warnings_not_errors,epoxy)) -+ -+$(eval $(call gb_Library_set_include,epoxy,\ -+ -I$(WORKDIR)/UnpackedTarball/epoxy/include \ -+ -I$(WORKDIR)/UnpackedTarball/epoxy/src \ -+ $$(INCLUDE) \ -+)) -+ -+# epoxy is riddled with warnings... let's spare use -+# the pointless spamming -+$(eval $(call gb_Library_add_cxxflags,epoxy,\ -+ -w \ -+)) -+$(eval $(call gb_Library_add_cflags,epoxy,\ -+ -w \ -+)) -+ -+ifeq ($(OS),LINUX) -+$(eval $(call gb_Library_add_libs,epoxy,\ -+ -ldl \ -+)) -+endif -+ -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_common \ -+ UnpackedTarball/epoxy/src/gl_generated_dispatch \ -+)) -+ -+ifeq ($(OS),WNT) -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_wgl \ -+ UnpackedTarball/epoxy/src/wgl_generated_dispatch \ -+)) -+else ifeq ($(OS),MACOSX) -+# nothing -+else ifeq ($(OS),ANDROID) -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_egl \ -+ UnpackedTarball/epoxy/src/egl_generated_dispatch \ -+)) -+else -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_glx \ -+ UnpackedTarball/epoxy/src/glx_generated_dispatch \ -+ UnpackedTarball/epoxy/src/dispatch_egl \ -+ UnpackedTarball/epoxy/src/egl_generated_dispatch \ -+)) -+endif -+ -+# vim: set noet sw=4 ts=4: -diff --git a/external/glew/Makefile b/external/epoxy/Makefile -similarity index 100% -rename from external/glew/Makefile -rename to external/epoxy/Makefile -diff --git a/external/glew/Module_glew.mk b/external/epoxy/Module_epoxy.mk -similarity index 69% -rename from external/glew/Module_glew.mk -rename to external/epoxy/Module_epoxy.mk -index 1d1b9a7..ea65176 100644 ---- a/external/glew/Module_glew.mk -+++ b/external/epoxy/Module_epoxy.mk -@@ -7,12 +7,11 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - # - --$(eval $(call gb_Module_Module,glew)) -+$(eval $(call gb_Module_Module,epoxy)) - --$(eval $(call gb_Module_add_targets,glew,\ -- ExternalProject_glew \ -- UnpackedTarball_glew \ -- ExternalPackage_glew \ -+$(eval $(call gb_Module_add_targets,epoxy,\ -+ Library_epoxy \ -+ UnpackedTarball_epoxy \ - )) - - # vim: set noet sw=4 ts=4: -diff --git a/external/epoxy/README b/external/epoxy/README -new file mode 100644 -index 0000000..8bd467a ---- /dev/null -+++ b/external/epoxy/README -@@ -0,0 +1,5 @@ -+Epoxy is an OpenGL Extension Wrangler -+ -+Epoxy is a library for handling OpenGL function pointer management for you -+ -+https://github.com/anholt/libepoxy -diff --git a/external/epoxy/UnpackedTarball_epoxy.mk b/external/epoxy/UnpackedTarball_epoxy.mk -new file mode 100644 -index 0000000..76c0fdf ---- /dev/null -+++ b/external/epoxy/UnpackedTarball_epoxy.mk -@@ -0,0 +1,20 @@ -+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -+# -+# This file is part of the LibreOffice project. -+# -+# This Source Code Form is subject to the terms of the Mozilla Public -+# License, v. 2.0. If a copy of the MPL was not distributed with this -+# file, You can obtain one at http://mozilla.org/MPL/2.0/. -+# -+ -+$(eval $(call gb_UnpackedTarball_UnpackedTarball,epoxy)) -+ -+$(eval $(call gb_UnpackedTarball_set_tarball,epoxy,$(EPOXY_TARBALL))) -+ -+$(eval $(call gb_UnpackedTarball_set_patchlevel,epoxy,0)) -+ -+$(eval $(call gb_UnpackedTarball_add_patches,epoxy, \ -+ external/epoxy/epoxy.windows.api.patch \ -+)) -+ -+# vim: set noet sw=4 ts=4: -diff --git a/external/epoxy/epoxy.windows.api.patch b/external/epoxy/epoxy.windows.api.patch -new file mode 100644 -index 0000000..12d2afb ---- /dev/null -+++ b/external/epoxy/epoxy.windows.api.patch -@@ -0,0 +1,90 @@ -+--- include/epoxy/gl.h -++++ include/epoxy/gl.h -+@@ -59,7 +59,8 @@ -+ -+ #else -+ #ifndef APIENTRY -+-#define APIENTRY __stdcall -++#define WINAPI __stdcall -++#define APIENTRY WINAPI -+ #endif -+ -+ #ifndef GLAPIENTRY -+--- src/egl_generated_dispatch.c -++++ src/egl_generated_dispatch.c -+@@ -128,7 +128,11 @@ -+ }; -+ -+ #if USING_DISPATCH_TABLE -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void); -+ -+ #endif -+@@ -1642,7 +1646,11 @@ -+ uint32_t egl_tls_index; -+ uint32_t egl_tls_size = sizeof(struct dispatch_table); -+ -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void) -+ { -+ return TlsGetValue(egl_tls_index); -+--- src/gl_generated_dispatch.c -++++ src/gl_generated_dispatch.c -+@@ -3122,7 +3122,11 @@ -+ }; -+ -+ #if USING_DISPATCH_TABLE -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void); -+ -+ #endif -+@@ -51507,7 +51511,11 @@ -+ uint32_t gl_tls_index; -+ uint32_t gl_tls_size = sizeof(struct dispatch_table); -+ -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void) -+ { -+ return TlsGetValue(gl_tls_index); -+--- src/wgl_generated_dispatch.c -++++ src/wgl_generated_dispatch.c -+@@ -157,7 +157,11 @@ -+ }; -+ -+ #if USING_DISPATCH_TABLE -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void); -+ -+ #endif -+@@ -1701,7 +1705,11 @@ -+ uint32_t wgl_tls_index; -+ uint32_t wgl_tls_size = sizeof(struct dispatch_table); -+ -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void) -+ { -+ return TlsGetValue(wgl_tls_index); -diff --git a/external/glew/ExternalPackage_glew.mk b/external/glew/ExternalPackage_glew.mk -deleted file mode 100644 -index e6adc8b..0000000 ---- a/external/glew/ExternalPackage_glew.mk -+++ /dev/null -@@ -1,33 +0,0 @@ --# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- --# --# This file is part of the LibreOffice project. --# --# This Source Code Form is subject to the terms of the Mozilla Public --# License, v. 2.0. If a copy of the MPL was not distributed with this --# file, You can obtain one at http://mozilla.org/MPL/2.0/. --# -- --$(eval $(call gb_ExternalPackage_ExternalPackage,glew,glew)) -- --$(eval $(call gb_ExternalPackage_use_external_project,glew,glew)) -- --ifeq ($(OS)-$(COM),WNT-MSC) --ifeq ($(CPUNAME),INTEL) --glew_arch_subdir=Win32 --else ifeq ($(CPUNAME),X86_64) --glew_arch_subdir=x64 --endif --endif -- --ifeq ($(OS),MACOSX) --$(eval $(call gb_ExternalPackage_add_file,glew,$(LIBO_LIB_FOLDER)/libGLEW.1.12.0.dylib,lib/libGLEW.1.12.0.dylib)) --else ifeq ($(OS)-$(COM),WNT-GCC) --else ifeq ($(COM),MSC) --$(eval $(call gb_ExternalPackage_add_files,glew,$(LIBO_LIB_FOLDER), \ -- bin/$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/$(glew_arch_subdir)/glew32d.dll,Release/$(glew_arch_subdir)/glew32.dll) \ --)) --else ifeq ($(DISABLE_DYNLOADING),) --$(eval $(call gb_ExternalPackage_add_file,glew,$(LIBO_LIB_FOLDER)/libGLEW.so.1.12,lib/libGLEW.so.1.12.0)) --endif -- --# vim: set noet sw=4 ts=4: -diff --git a/external/glew/ExternalProject_glew.mk b/external/glew/ExternalProject_glew.mk -deleted file mode 100644 -index 0d80cd0..0000000 ---- a/external/glew/ExternalProject_glew.mk -+++ /dev/null -@@ -1,36 +0,0 @@ --# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- --# --# This file is part of the LibreOffice project. --# --# This Source Code Form is subject to the terms of the Mozilla Public --# License, v. 2.0. If a copy of the MPL was not distributed with this --# file, You can obtain one at http://mozilla.org/MPL/2.0/. --# -- --$(eval $(call gb_ExternalProject_ExternalProject,glew)) -- --$(eval $(call gb_ExternalProject_register_targets,glew,\ -- build \ --)) -- --ifeq ($(COM),MSC) --$(call gb_ExternalProject_get_state_target,glew,build) : -- $(call gb_ExternalProject_run,build,\ -- $(if $(filter 140,$(VCVER)),$(DEVENV) /Upgrade glew.sln,echo up-to-date) && \ -- msbuild.exe glew_shared.vcxproj /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140,/p:PlatformToolset=v120) \ -- ,build/vc12) \ -- $(call gb_ExternalProject_run,build,\ -- msbuild.exe glewinfo.vcxproj /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) /p:Configuration=Release $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140,/p:PlatformToolset=v120) \ -- ,build/vc12) -- --else -- --$(call gb_ExternalProject_get_state_target,glew,build) : -- $(call gb_ExternalProject_run,glew,\ -- $(if $(ENABLE_DEBUG),STRIP=) LD="$(CC)" \ -- $(MAKE) STRIP= glew.lib $(if $(filter DESKTOP,$(BUILD_TYPE)),$(if $(ENABLE_DEBUG),debug)) \ -- ) -- --endif -- --# vim: set noet sw=4 ts=4: -diff --git a/external/glew/README b/external/glew/README -deleted file mode 100644 -index 34b2d24..0000000 ---- a/external/glew/README -+++ /dev/null -@@ -1,6 +0,0 @@ --GLEW is the OpenGL Extension Wrangler -- --GLEW provides efficient run-time mechanisms for determining which OpenGL --extensions are supported on the target platform. -- --http://glew.sourceforge.net/ -diff --git a/external/glew/UnpackedTarball_glew.mk b/external/glew/UnpackedTarball_glew.mk -deleted file mode 100644 -index c47b7a0..0000000 ---- a/external/glew/UnpackedTarball_glew.mk -+++ /dev/null -@@ -1,48 +0,0 @@ --# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- --# --# This file is part of the LibreOffice project. --# --# This Source Code Form is subject to the terms of the Mozilla Public --# License, v. 2.0. If a copy of the MPL was not distributed with this --# file, You can obtain one at http://mozilla.org/MPL/2.0/. --# -- --$(eval $(call gb_UnpackedTarball_UnpackedTarball,glew)) -- --$(eval $(call gb_UnpackedTarball_set_tarball,glew,$(GLEW_TARBALL))) -- --$(eval $(call gb_UnpackedTarball_set_patchlevel,glew,0)) -- --$(eval $(call gb_UnpackedTarball_fix_end_of_line,glew,\ -- Makefile \ -- include/GL/glew.h \ --)) -- --ifeq ($(OS)$(COM),WNTMSC) --$(eval $(call gb_UnpackedTarball_set_patchflags,glew,--binary)) --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-msvc-disable-sse2.patch.1 \ --)) --else --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew_use_CC_variable.patch.1 \ --)) --endif -- --ifeq ($(OS),MACOSX) --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-macosx-install-name.patch.1 \ --)) --endif -- --ifeq ($(DISABLE_DYNLOADING),TRUE) --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-static-only.patch.1 \ --)) --endif -- --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-tmpdir.patch.1 \ --)) -- --# vim: set noet sw=4 ts=4: -diff --git a/external/glew/glew-macosx-install-name.patch.1 b/external/glew/glew-macosx-install-name.patch.1 -deleted file mode 100644 -index 75e8e7f..0000000 ---- a/external/glew/glew-macosx-install-name.patch.1 -+++ /dev/null -@@ -1,13 +0,0 @@ ---*- Mode:Diff -*- --diff -ur glew.org/build/glew.rc glew/build/glew.rc ----- glew/config/Makefile.darwin --+++ glew/config/Makefile.darwin --@@ -20,7 +20,7 @@ -- LIB.DEVLNK = lib$(NAME).dylib -- LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib -- LIB.STATIC = lib$(NAME).a ---LDFLAGS.SO = -dynamiclib -install_name $(GLEW_DEST)/lib/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR) --+LDFLAGS.SO = -dynamiclib -install_name @__________________________________________________OOO/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR) -- LIB.SONAME.MX = lib$(NAME)mx.$(SO_MAJOR).dylib -- LIB.DEVLNK.MX = lib$(NAME)mx.dylib -- LIB.SHARED.MX = lib$(NAME)mx.$(SO_VERSION).dylib -diff --git a/external/glew/glew-msvc-disable-sse2.patch.1 b/external/glew/glew-msvc-disable-sse2.patch.1 -deleted file mode 100644 -index 6b07044..0000000 ---- a/external/glew/glew-msvc-disable-sse2.patch.1 -+++ /dev/null -@@ -1,10 +0,0 @@ ----- glew/build//vc10/common.props.orig 2014-10-02 15:06:57.027060664 +0200 --+++ glew/build//vc10/common.props 2014-10-02 15:06:59.026060509 +0200 --@@ -10,6 +10,7 @@ -- -- -- $(INCLUDE_DIR) --+ StreamingSIMDExtensions -- -- -- -diff --git a/external/glew/glew-static-only.patch.1 b/external/glew/glew-static-only.patch.1 -deleted file mode 100644 -index 14ccff2..0000000 ---- a/external/glew/glew-static-only.patch.1 -+++ /dev/null -@@ -1,12 +0,0 @@ ---*- Mode:Diff -*- ----- glew/Makefile --+++ glew/Makefile --@@ -93,7 +93,7 @@ -- LIB.SOBJS.MX := $(addprefix tmp/$(SYSTEM)/mx/shared/,$(LIB.SRCS.NAMES)) -- LIB.SOBJS.MX := $(LIB.SOBJS.MX:.c=.o) -- ---glew.lib: lib lib/$(LIB.SHARED) lib/$(LIB.STATIC) glew.pc --+glew.lib: lib lib/$(LIB.STATIC) -- -- lib: -- mkdir lib -diff --git a/external/glew/glew-tmpdir.patch.1 b/external/glew/glew-tmpdir.patch.1 -deleted file mode 100644 -index 9a2847b..0000000 ---- a/external/glew/glew-tmpdir.patch.1 -+++ /dev/null -@@ -1,13 +0,0 @@ --diff -ur glew.org/Makefile glew/Makefile ----- glew.org/Makefile 2016-05-02 06:25:53.521291677 +0200 --+++ glew/Makefile 2016-05-02 06:31:10.325035494 +0200 --@@ -55,7 +55,8 @@ -- DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz -- DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip -- ---DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME) --+TMPDIR ?= /tmp --+DIST_DIR := $(shell mktemp -d $(TMPDIR)/glew.XXXXXX)/$(DIST_NAME) -- -- # To disable stripping of binaries either: -- # - use STRIP= on gmake command-line -diff --git a/external/glew/glew_use_CC_variable.patch.1 b/external/glew/glew_use_CC_variable.patch.1 -deleted file mode 100644 -index 56e9903..0000000 ---- a/external/glew/glew_use_CC_variable.patch.1 -+++ /dev/null -@@ -1,24 +0,0 @@ --Use CC variable from environment, don't hardcode "cc". -- ----- glew/config/Makefile.linux.orig 2014-01-29 15:39:43.364972925 +0100 --+++ glew/config/Makefile.linux 2014-01-29 15:44:45.621000941 +0100 --@@ -1,6 +1,6 @@ -- NAME = $(GLEW_NAME) ---CC = cc ---LD = cc --+CC ?= cc --+LD ?= $(CC) -- M_ARCH ?= $(shell uname -m) -- ARCH64 = false -- ifeq (x86_64,${M_ARCH}) ----- glew/config/Makefile.darwin.orig 2014-01-29 15:44:39.541000377 +0100 --+++ glew/config/Makefile.darwin 2014-01-29 15:44:47.548001120 +0100 --@@ -1,6 +1,6 @@ -- NAME = $(GLEW_NAME) ---CC = cc ---LD = cc --+CC ?= cc --+LD ?= $(CC) -- CFLAGS.EXTRA = -dynamic -fno-common -- #CFLAGS.EXTRA += -no-cpp-precomp -- LDFLAGS.EXTRA = -diff --git a/external/libgltf/ExternalProject_libgltf.mk b/external/libgltf/ExternalProject_libgltf.mk -index 57c01d0..90a1d96 100644 ---- a/external/libgltf/ExternalProject_libgltf.mk -+++ b/external/libgltf/ExternalProject_libgltf.mk -@@ -17,7 +17,7 @@ $(eval $(call gb_ExternalProject_register_targets,libgltf,\ - - $(eval $(call gb_ExternalProject_use_externals,libgltf,\ - boost_headers \ -- glew \ -+ epoxy \ - glm_headers \ - )) - -@@ -30,8 +30,8 @@ ifeq ($(SYSTEM_BOOST),) - libgltf_AdditionalIncludes += "$(call gb_UnpackedTarball_get_dir,boost)" - endif - --ifeq ($(SYSTEM_GLEW),) --libgltf_AdditionalIncludes += "$(call gb_UnpackedTarball_get_dir,glew)/include" -+ifeq ($(SYSTEM_EPOXY),) -+libgltf_AdditionalIncludes += "$(call gb_UnpackedTarball_get_dir,epoxy)/include" - endif - - ifeq ($(SYSTEM_GLM),) -@@ -45,7 +45,7 @@ $(call gb_ExternalProject_get_state_target,libgltf,build) : - $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ - $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ - '/p:AdditionalIncludeDirectories=$(subst $(WHITESPACE),;,$(subst /,\,$(strip $(libgltf_AdditionalIncludes))))' \ -- /p:AdditionalLibraryDirectories=$(if $(SYSTEM_GLEW),,"$(subst /,\,$(call gb_UnpackedTarball_get_dir,glew))\lib\$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)\Win32") \ -+ /p:AdditionalLibraryDirectories=$(if $(SYSTEM_EPOXY),,"$(subst /,\,$(call gb_UnpackedTarball_get_dir,epoxy))\lib\$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)\Win32") \ - ,build/win32) - - else # !ifeq($(COM),MSC) -@@ -67,7 +67,7 @@ $(call gb_ExternalProject_get_state_target,libgltf,build) : - $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \ - --disable-werror \ - BOOST_CFLAGS="$(BOOST_CPPFLAGS)" \ -- GLEW_CFLAGS="$(if $(SYSTEM_GLEW),$(GLEW_CFLAGS),-I$(call gb_UnpackedTarball_get_dir,glew)/include) -DGLEW_NO_GLU" \ -+ EPOXY_CFLAGS="$(if $(SYSTEM_EPOXY),$(EPOXY_CFLAGS),-I$(call gb_UnpackedTarball_get_dir,epoxy)/include)" \ - GLM_CFLAGS="$(if $(SYSTEM_GLM),$(GLM_CFLAGS),-I$(call gb_UnpackedTarball_get_dir,glm))" \ - $(if $(libgltf_CPPFLAGS),CPPFLAGS='$(libgltf_CPPFLAGS)') \ - && $(MAKE) \ -diff --git a/external/libgltf/libgltf-msvc-x64.patch.1 b/external/libgltf/libgltf-msvc-x64.patch.1 -index 86417a7..32a831b 100644 ---- a/external/libgltf/libgltf-msvc-x64.patch.1 -+++ b/external/libgltf/libgltf-msvc-x64.patch.1 -@@ -20,7 +20,7 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - - - --@@ -56,6 +64,12 @@ -+@@ -53,6 +61,12 @@ - MultiByte - v110 - -@@ -33,7 +33,7 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - - StaticLibrary - false --@@ -63,15 +77,28 @@ -+@@ -60,15 +74,28 @@ - MultiByte - v110 - -@@ -62,8 +62,8 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - - - --@@ -86,6 +113,19 @@ -- opengl32.lib;glew32.lib;$(AdditionalDependencies) -+@@ -83,10 +110,42 @@ -+ opengl32.lib;epoxy32.lib;$(AdditionalDependencies) - - - + -@@ -76,20 +76,13 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - + - + true - + $(AdditionalLibraryDirectories) --+ opengl32.lib;glew32.lib;$(AdditionalDependencies) -++ opengl32.lib;epoxy32.lib;$(AdditionalDependencies) - + - + - - - Level4 --@@ -105,6 +145,25 @@ -- Windows -- -- --+ --+ --+ Level4 --+ MaxSpeed -+ MaxSpeed - + StreamingSIMDExtensions - + true - + true -@@ -101,10 +94,14 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - + true - + true - + $(AdditionalLibraryDirectories) --+ opengl32.lib;glew32.lib;$(AdditionalDependencies) -++ opengl32.lib;epoxy32.lib;$(AdditionalDependencies) - + Windows - + - + -- -- -- -++ -++ -++ Level4 -++ MaxSpeed -+ StreamingSIMDExtensions -+ true -+ true -diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx -index e3e9ce0..ffcd816 100644 ---- a/include/vcl/opengl/OpenGLContext.hxx -+++ b/include/vcl/opengl/OpenGLContext.hxx -@@ -12,7 +12,7 @@ - - #include - --#include -+#include - - #include - #include -@@ -158,8 +158,8 @@ private: - virtual void destroyCurrentContext(); - - protected: -- bool InitGLEW(); -- static void InitGLEWDebugging(); -+ bool InitGL(); -+ static void InitGLDebugging(); - static void InitChildWindow(SystemChildWindow *pChildWindow); - static void BuffersSwapped(); - virtual GLWindow& getModifiableOpenGLWindow() = 0; -diff --git a/include/vcl/opengl/OpenGLHelper.hxx b/include/vcl/opengl/OpenGLHelper.hxx -index 458021f..23b9b79 100644 ---- a/include/vcl/opengl/OpenGLHelper.hxx -+++ b/include/vcl/opengl/OpenGLHelper.hxx -@@ -10,7 +10,7 @@ - #ifndef INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX - #define INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX - --#include -+#include - #include - #include - #include -diff --git a/include/vcl/opengl/OpenGLWrapper.hxx b/include/vcl/opengl/OpenGLWrapper.hxx -index 3b7f6a7..e9fb967 100644 ---- a/include/vcl/opengl/OpenGLWrapper.hxx -+++ b/include/vcl/opengl/OpenGLWrapper.hxx -@@ -7,7 +7,7 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --// Fully wrapped methods that have no exotic GL / GLEW header deps. -+// Fully wrapped methods that have no exotic GL header deps. - - #ifndef INCLUDED_VCL_OPENGL_OPENGLWRAPPER_HXX - #define INCLUDED_VCL_OPENGL_OPENGLWRAPPER_HXX -diff --git a/slideshow/Library_OGLTrans.mk b/slideshow/Library_OGLTrans.mk -index b908a0b..fb04596 100644 ---- a/slideshow/Library_OGLTrans.mk -+++ b/slideshow/Library_OGLTrans.mk -@@ -34,7 +34,7 @@ $(eval $(call gb_Library_use_libraries,OGLTrans,\ - - $(eval $(call gb_Library_use_externals,OGLTrans,\ - boost_headers \ -- glew \ -+ epoxy \ - glm_headers \ - )) - -@@ -56,13 +56,6 @@ $(eval $(call gb_Library_use_system_win32_libs,OGLTrans,\ - opengl32 \ - )) - --else -- --$(eval $(call gb_Library_add_libs,OGLTrans,\ -- -lGL \ -- -lX11 \ --)) -- - endif - - $(eval $(call gb_Library_add_exception_objects,OGLTrans,\ -diff --git a/slideshow/Library_slideshow.mk b/slideshow/Library_slideshow.mk -index 3a9aac6..0583f5e 100644 ---- a/slideshow/Library_slideshow.mk -+++ b/slideshow/Library_slideshow.mk -@@ -31,7 +31,7 @@ $(eval $(call gb_Library_use_externals,slideshow,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,slideshow,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/slideshow/source/engine/opengl/TransitionImpl.cxx b/slideshow/source/engine/opengl/TransitionImpl.cxx -index 60ab587..115aaf2 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.cxx -@@ -26,7 +26,6 @@ - * - ************************************************************************/ - --#include - #include - #include - #include -diff --git a/slideshow/source/engine/opengl/TransitionImpl.hxx b/slideshow/source/engine/opengl/TransitionImpl.hxx -index 66ecb6b..b739c0c 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.hxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.hxx -@@ -31,8 +31,7 @@ - #include - #include - --#include -- -+#include - #include - #include - -diff --git a/slideshow/source/engine/opengl/TransitionerImpl.cxx b/slideshow/source/engine/opengl/TransitionerImpl.cxx -index ef1d385..01cd3e5 100644 ---- a/slideshow/source/engine/opengl/TransitionerImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionerImpl.cxx -@@ -810,7 +810,7 @@ void buildMipmaps( - GLint internalFormat, GLsizei width, GLsizei height, GLenum format, - GLenum type, const void * data) - { -- if (GLEW_ARB_framebuffer_object) { -+ if (epoxy_has_gl_extension("GL_ARB_framebuffer_object")) { - glTexImage2D( - GL_TEXTURE_2D, 0, internalFormat, width, height, 0, format, type, - data); -diff --git a/svx/Library_svxcore.mk b/svx/Library_svxcore.mk -index 557c427..48ecf22 100644 ---- a/svx/Library_svxcore.mk -+++ b/svx/Library_svxcore.mk -@@ -88,7 +88,7 @@ $(eval $(call gb_Library_use_externals,svxcore,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,svxcore,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/toolkit/Library_tk.mk b/toolkit/Library_tk.mk -index 27bd721..b9a42d3 100644 ---- a/toolkit/Library_tk.mk -+++ b/toolkit/Library_tk.mk -@@ -27,7 +27,7 @@ $(eval $(call gb_Library_use_externals,tk,\ - - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,tk,\ -- glew \ -+ epoxy \ - )) - endif - $(eval $(call gb_Library_set_include,tk,\ -diff --git a/vcl/CppunitTest_vcl_bitmap_test.mk b/vcl/CppunitTest_vcl_bitmap_test.mk -index 879c7ac..70ce156 100644 ---- a/vcl/CppunitTest_vcl_bitmap_test.mk -+++ b/vcl/CppunitTest_vcl_bitmap_test.mk -@@ -19,7 +19,7 @@ $(eval $(call gb_CppunitTest_use_externals,vcl_bitmap_test,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_CppunitTest_use_externals,vcl_bitmap_test,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/vcl/CppunitTest_vcl_wmf_test.mk b/vcl/CppunitTest_vcl_wmf_test.mk -index 369c792..7cae363 100644 ---- a/vcl/CppunitTest_vcl_wmf_test.mk -+++ b/vcl/CppunitTest_vcl_wmf_test.mk -@@ -87,7 +87,7 @@ $(eval $(call gb_CppunitTest_use_externals,vcl_wmf_test,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_CppunitTest_use_externals,vcl_wmf_test,\ -- glew \ -+ epoxy \ - )) - endif - -@@ -136,7 +136,6 @@ $(eval $(call gb_CppunitTest_add_libs,vcl_wmf_test,\ - -lm \ - -ldl \ - -lpthread \ -- -lGL \ - -lX11 \ - )) - endif -@@ -190,7 +189,6 @@ ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) - $(eval $(call gb_CppunitTest_add_libs,vcl_wmf_test,\ - -lm $(DLOPEN_LIBS) \ - -lpthread \ -- -lGL \ - -lX11 \ - -lXext \ - )) -diff --git a/vcl/Executable_icontest.mk b/vcl/Executable_icontest.mk -index 102697b..cce8feb 100644 ---- a/vcl/Executable_icontest.mk -+++ b/vcl/Executable_icontest.mk -@@ -15,7 +15,7 @@ $(eval $(call gb_Executable_use_externals,icontest,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Executable_use_externals,icontest,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/vcl/Executable_vcldemo.mk b/vcl/Executable_vcldemo.mk -index bff091e..a09d3b4 100644 ---- a/vcl/Executable_vcldemo.mk -+++ b/vcl/Executable_vcldemo.mk -@@ -21,7 +21,7 @@ $(eval $(call gb_Executable_use_externals,vcldemo,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Executable_use_externals,vcldemo,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/vcl/Executable_visualbackendtest.mk b/vcl/Executable_visualbackendtest.mk -index abf8cbe..8704453 100644 ---- a/vcl/Executable_visualbackendtest.mk -+++ b/vcl/Executable_visualbackendtest.mk -@@ -46,7 +46,6 @@ $(eval $(call gb_Executable_add_libs,visualbackendtest,\ - -lm \ - -ldl \ - -lpthread \ -- -lGL \ - -lX11 \ - )) - -diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk -index f552b55..3bfff8c 100644 ---- a/vcl/Library_vcl.mk -+++ b/vcl/Library_vcl.mk -@@ -124,7 +124,7 @@ $(eval $(call gb_Library_use_externals,vcl,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,vcl,\ -- glew \ -+ epoxy \ - )) - endif - -@@ -648,7 +648,6 @@ $(eval $(call gb_Library_add_libs,vcl,\ - -lm \ - -ldl \ - -lpthread \ -- -lGL \ - -lX11 \ - )) - endif -diff --git a/vcl/Library_vclplug_gen.mk b/vcl/Library_vclplug_gen.mk -index f281605..0e1c39c 100644 ---- a/vcl/Library_vclplug_gen.mk -+++ b/vcl/Library_vclplug_gen.mk -@@ -51,7 +51,7 @@ $(eval $(call gb_Library_use_externals,vclplug_gen,\ - boost_headers \ - cairo \ - graphite \ -- glew \ -+ epoxy \ - glm_headers \ - harfbuzz \ - icu_headers \ -@@ -65,7 +65,6 @@ $(eval $(call gb_Library_add_libs,vclplug_gen,\ - -lXext \ - -lSM \ - -lICE \ -- -lGL \ - )) - - $(eval $(call gb_Library_add_exception_objects,vclplug_gen,\ -diff --git a/vcl/Library_vclplug_gtk.mk b/vcl/Library_vclplug_gtk.mk -index c32a127..67247b7 100644 ---- a/vcl/Library_vclplug_gtk.mk -+++ b/vcl/Library_vclplug_gtk.mk -@@ -59,7 +59,7 @@ $(eval $(call gb_Library_use_externals,vclplug_gtk,\ - cairo \ - dbus \ - gio \ -- glew \ -+ epoxy \ - gtk \ - gthread \ - icuuc \ -diff --git a/vcl/Library_vclplug_gtk3.mk b/vcl/Library_vclplug_gtk3.mk -index 8d013d9..1457c1a 100644 ---- a/vcl/Library_vclplug_gtk3.mk -+++ b/vcl/Library_vclplug_gtk3.mk -@@ -75,7 +75,7 @@ $(eval $(call gb_Library_use_libraries,vclplug_gtk3,\ - - $(eval $(call gb_Library_use_externals,vclplug_gtk3,\ - boost_headers \ -- glew \ -+ epoxy \ - dbus \ - )) - -diff --git a/vcl/Library_vclplug_kde4.mk b/vcl/Library_vclplug_kde4.mk -index 30c4069..acd7bd5 100644 ---- a/vcl/Library_vclplug_kde4.mk -+++ b/vcl/Library_vclplug_kde4.mk -@@ -54,7 +54,7 @@ $(eval $(call gb_Library_use_externals,vclplug_kde4,\ - boost_headers \ - icuuc \ - kde4 \ -- glew \ -+ epoxy \ - )) - - $(eval $(call gb_Library_add_libs,vclplug_kde4,\ -diff --git a/vcl/inc/opengl/LineRenderUtils.hxx b/vcl/inc/opengl/LineRenderUtils.hxx -index 58ae6a8..e3f375b 100644 ---- a/vcl/inc/opengl/LineRenderUtils.hxx -+++ b/vcl/inc/opengl/LineRenderUtils.hxx -@@ -11,7 +11,6 @@ - #ifndef INCLUDED_VCL_INC_OPENGL_LINERENDERUTILS_H - #define INCLUDED_VCL_INC_OPENGL_LINERENDERUTILS_H - --#include - #include "opengl/VertexUtils.hxx" - #include "opengl/RenderList.hxx" - -diff --git a/vcl/inc/opengl/VertexUtils.hxx b/vcl/inc/opengl/VertexUtils.hxx -index f9804ec..de2c070 100644 ---- a/vcl/inc/opengl/VertexUtils.hxx -+++ b/vcl/inc/opengl/VertexUtils.hxx -@@ -12,7 +12,7 @@ - #define INCLUDED_VCL_INC_OPENGL_VERTEXUTILS_H - - #include --#include -+#include - #include - #include - #include -diff --git a/vcl/inc/opengl/framebuffer.hxx b/vcl/inc/opengl/framebuffer.hxx -index ec7a450..a2dbd1e 100644 ---- a/vcl/inc/opengl/framebuffer.hxx -+++ b/vcl/inc/opengl/framebuffer.hxx -@@ -10,7 +10,6 @@ - #ifndef INCLUDED_VCL_INC_OPENGL_FRAMEBUFFER_H - #define INCLUDED_VCL_INC_OPENGL_FRAMEBUFFER_H - --#include - #include - - #include -diff --git a/vcl/inc/opengl/program.hxx b/vcl/inc/opengl/program.hxx -index 73cdb7f..4632ddf 100644 ---- a/vcl/inc/opengl/program.hxx -+++ b/vcl/inc/opengl/program.hxx -@@ -14,7 +14,6 @@ - - #include - --#include - #include - - #include -diff --git a/vcl/inc/opengl/texture.hxx b/vcl/inc/opengl/texture.hxx -index a0c8029..fd4eb97 100644 ---- a/vcl/inc/opengl/texture.hxx -+++ b/vcl/inc/opengl/texture.hxx -@@ -20,7 +20,7 @@ - #ifndef INCLUDED_VCL_INC_OPENGL_TEXTURE_H - #define INCLUDED_VCL_INC_OPENGL_TEXTURE_H - --#include -+#include - #include - #include - #include -diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx -index 6ef9e2a..a356ae8 100644 ---- a/vcl/inc/pch/precompiled_vcl.hxx -+++ b/vcl/inc/pch/precompiled_vcl.hxx -@@ -56,6 +56,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -184,7 +185,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/vcl/inc/unx/saldisp.hxx b/vcl/inc/unx/saldisp.hxx -index 64998df..339ba80 100644 ---- a/vcl/inc/unx/saldisp.hxx -+++ b/vcl/inc/unx/saldisp.hxx -@@ -28,7 +28,7 @@ class SalXLib; - #include - #include - #include --#include "GL/glxew.h" -+#include - - #include - #include -diff --git a/vcl/opengl/x11/gdiimpl.cxx b/vcl/opengl/x11/gdiimpl.cxx -index b4f87a3..92dd18c 100644 ---- a/vcl/opengl/x11/gdiimpl.cxx -+++ b/vcl/opengl/x11/gdiimpl.cxx -@@ -32,6 +32,7 @@ - #include - - static std::vector g_vShareList; -+static bool g_bAnyCurrent; - - class X11OpenGLContext : public OpenGLContext - { -@@ -184,23 +185,10 @@ namespace - return pFBC; - } - -- // we need them before glew can initialize them -- // glew needs an OpenGL context so we need to get the address manually -- void initOpenGLFunctionPointers() -- { -- glXChooseFBConfig = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXChooseFBConfig"))); -- glXGetVisualFromFBConfig = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXGetVisualFromFBConfig"))); // try to find a visual for the current set of attributes -- glXGetFBConfigAttrib = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXGetFBConfigAttrib"))); -- glXCreateContextAttribsARB = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXCreateContextAttribsARB"))); -- glXCreatePixmap = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXCreatePixmap"))); -- } -- - Visual* getVisual(Display* dpy, Window win) - { - OpenGLZone aZone; - -- initOpenGLFunctionPointers(); -- - XWindowAttributes xattr; - if( !XGetWindowAttributes( dpy, win, &xattr ) ) - { -@@ -235,7 +223,10 @@ void X11OpenGLContext::resetCurrent() - OpenGLZone aZone; - - if (m_aGLWin.dpy) -+ { - glXMakeCurrent(m_aGLWin.dpy, None, nullptr); -+ g_bAnyCurrent = false; -+ } - } - - bool X11OpenGLContext::isCurrent() -@@ -247,7 +238,7 @@ bool X11OpenGLContext::isCurrent() - - bool X11OpenGLContext::isAnyCurrent() - { -- return glXGetCurrentContext() != None; -+ return g_bAnyCurrent && glXGetCurrentContext() != None; - } - - SystemWindowData X11OpenGLContext::generateWinData(vcl::Window* pParent, bool /*bRequestLegacyContext*/) -@@ -266,8 +257,6 @@ SystemWindowData X11OpenGLContext::generateWinData(vcl::Window* pParent, bool /* - if( dpy == nullptr || !glXQueryExtension( dpy, nullptr, nullptr ) ) - return aWinData; - -- initOpenGLFunctionPointers(); -- - int best_fbc = -1; - GLXFBConfig* pFBC = getFBConfig(dpy, win, best_fbc, true, false); - -@@ -355,10 +344,13 @@ bool X11OpenGLContext::ImplInit() - - if( !glXMakeCurrent( m_aGLWin.dpy, m_aGLWin.win, m_aGLWin.ctx ) ) - { -+ g_bAnyCurrent = false; - SAL_WARN("vcl.opengl", "unable to select current GLX context"); - return false; - } - -+ g_bAnyCurrent = true; -+ - int glxMinor, glxMajor; - double nGLXVersion = 0; - if( glXQueryVersion( m_aGLWin.dpy, &glxMajor, &glxMinor ) ) -@@ -400,8 +392,8 @@ bool X11OpenGLContext::ImplInit() - } - } - -- bool bRet = InitGLEW(); -- InitGLEWDebugging(); -+ bool bRet = InitGL(); -+ InitGLDebugging(); - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); - -@@ -427,10 +419,12 @@ void X11OpenGLContext::makeCurrent() - { - if (!glXMakeCurrent( m_aGLWin.dpy, m_aGLWin.win, m_aGLWin.ctx )) - { -+ g_bAnyCurrent = false; - SAL_WARN("vcl.opengl", "OpenGLContext::makeCurrent failed " - "on drawable " << m_aGLWin.win); - return; - } -+ g_bAnyCurrent = true; - } - - registerAsCurrent(); -@@ -445,6 +439,7 @@ void X11OpenGLContext::destroyCurrentContext() - g_vShareList.erase(itr); - - glXMakeCurrent(m_aGLWin.dpy, None, nullptr); -+ g_bAnyCurrent = false; - if( glGetError() != GL_NO_ERROR ) - { - SAL_WARN("vcl.opengl", "glError: " << glGetError()); -diff --git a/vcl/osx/salobj.cxx b/vcl/osx/salobj.cxx -index c75f2a7..9e6e746 100644 ---- a/vcl/osx/salobj.cxx -+++ b/vcl/osx/salobj.cxx -@@ -321,8 +321,8 @@ bool AquaOpenGLContext::ImplInit() - NSOpenGLView* pView = getOpenGLView(); - [[pView openGLContext] makeCurrentContext]; - -- bool bRet = InitGLEW(); -- InitGLEWDebugging(); -+ bool bRet = InitGL(); -+ InitGLDebugging(); - return bRet; - } - -diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx -index 33d8009..1b2893b 100644 ---- a/vcl/source/opengl/OpenGLContext.cxx -+++ b/vcl/source/opengl/OpenGLContext.cxx -@@ -7,7 +7,6 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --#include - #include - - #include -@@ -205,13 +204,8 @@ extern "C" void - APIENTRY - #endif - debug_callback(GLenum source, GLenum type, GLuint id, -- GLenum severity, GLsizei , const GLchar* message, --#if HAVE_GLEW_1_12 -- const GLvoid* --#else -- GLvoid* --#endif -- ) -+ GLenum severity, GLsizei , const GLchar* message, -+ const GLvoid*) - { - // ignore Nvidia's 131218: "Program/shader state performance warning: Fragment Shader is going to be recompiled because the shader key based on GL state mismatches." - // the GLSL compiler is a bit too aggressive in optimizing the state based on the current OpenGL state -@@ -280,30 +274,14 @@ OUString getGLString(GLenum eGlEnum) - return sString; - } - --bool OpenGLContext::InitGLEW() -+bool OpenGLContext::InitGL() - { -- static bool bGlewInit = false; -- if(!bGlewInit) -- { -- OpenGLZone aZone; -- -- glewExperimental = GL_TRUE; -- GLenum err = glewInit(); -- if (err != GLEW_OK) -- { -- SAL_WARN("vcl.opengl", "Failed to initialize GLEW: " << glewGetErrorString(err)); -- return false; -- } -- else -- bGlewInit = true; -- } -- - VCL_GL_INFO("OpenGLContext::ImplInit----end"); - VCL_GL_INFO("Vendor: " << getGLString(GL_VENDOR) << " Renderer: " << getGLString(GL_RENDERER) << " GL version: " << OpenGLHelper::getGLVersion()); - mbInitialized = true; - - // I think we need at least GL 3.0 -- if (!GLEW_VERSION_3_0) -+ if (epoxy_gl_version() < 30) - { - SAL_WARN("vcl.opengl", "We don't have at least OpenGL 3.0"); - return false; -@@ -319,11 +297,11 @@ bool OpenGLContext::InitGLEW() - return true; - } - --void OpenGLContext::InitGLEWDebugging() -+void OpenGLContext::InitGLDebugging() - { - #ifdef DBG_UTIL - // only enable debug output in dbgutil build -- if( GLEW_ARB_debug_output) -+ if (epoxy_has_gl_extension("GL_ARB_debug_output")) - { - OpenGLZone aZone; - -diff --git a/vcl/source/opengl/OpenGLHelper.cxx b/vcl/source/opengl/OpenGLHelper.cxx -index f07e7dc..9b91415 100644 ---- a/vcl/source/opengl/OpenGLHelper.cxx -+++ b/vcl/source/opengl/OpenGLHelper.cxx -@@ -401,7 +401,7 @@ GLint OpenGLHelper::LoadShaders(const OUString& rVertexShaderName, - aGeometryShaderSource = getShaderSource(rGeometryShaderName); - - GLint bBinaryResult = GL_FALSE; -- if( GLEW_ARB_get_program_binary && !rDigest.isEmpty() ) -+ if (epoxy_has_gl_extension("GL_ARB_get_program_binary") && !rDigest.isEmpty()) - { - OString aFileName = - createFileName(rVertexShaderName, rFragmentShaderName, rGeometryShaderName, rDigest); -@@ -473,7 +473,7 @@ GLint OpenGLHelper::LoadShaders(const OUString& rVertexShaderName, - if (bHasGeometryShader) - glAttachShader(ProgramID, GeometryShaderID); - -- if( GLEW_ARB_get_program_binary && !rDigest.isEmpty() ) -+ if (epoxy_has_gl_extension("GL_ARB_get_program_binary") && !rDigest.isEmpty()) - { - glProgramParameteri(ProgramID, GL_PROGRAM_BINARY_RETRIEVABLE_HINT, GL_TRUE); - glLinkProgram(ProgramID); -@@ -1085,14 +1085,14 @@ void OpenGLHelper::debugMsgPrint(const int nType, const char *pFormat, ...) - { - OpenGLZone aZone; - -- if (GLEW_KHR_debug) -+ if (epoxy_has_gl_extension("GL_KHR_debug")) - glDebugMessageInsert(GL_DEBUG_SOURCE_APPLICATION, - GL_DEBUG_TYPE_OTHER, - 1, // one[sic] id is as good as another ? - // GL_DEBUG_SEVERITY_NOTIFICATION for >= GL4.3 ? - GL_DEBUG_SEVERITY_LOW, - strlen(pStr), pStr); -- else if (GLEW_AMD_debug_output) -+ else if (epoxy_has_gl_extension("GL_AMD_debug_output")) - glDebugMessageInsertAMD(GL_DEBUG_CATEGORY_APPLICATION_AMD, - GL_DEBUG_SEVERITY_LOW_AMD, - 1, // one[sic] id is as good as another ? -diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx -index 0bff9b8..34f0e6f 100644 ---- a/vcl/unx/generic/app/saldisp.cxx -+++ b/vcl/unx/generic/app/saldisp.cxx -@@ -47,7 +47,6 @@ - #include - #endif - --#include "GL/glxew.h" - #include - - #include -diff --git a/vcl/workben/icontest.cxx b/vcl/workben/icontest.cxx -index ae2973b..32d6ae8 100644 ---- a/vcl/workben/icontest.cxx -+++ b/vcl/workben/icontest.cxx -@@ -20,8 +20,6 @@ - - #include - --#include -- - #include - - #include --- -2.9.3 - diff --git a/0001-gtk3-implement-opengl-support-for-slideshow.patch b/0001-gtk3-implement-opengl-support-for-slideshow.patch deleted file mode 100644 index 560aed9..0000000 --- a/0001-gtk3-implement-opengl-support-for-slideshow.patch +++ /dev/null @@ -1,568 +0,0 @@ -From ac19024c141448dbc5d89ad943a28875b4504f5c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Fri, 25 Nov 2016 14:11:13 +0000 -Subject: [PATCH] gtk3: implement opengl support for slideshow -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -all of them work, except "Fall" doesn't look right, but it has -the exact same problem under gtk2/gen to. - -Change-Id: I73cb9c0fb8211f727198be78d90d4f80a4f8c7c8 -Reviewed-on: https://gerrit.libreoffice.org/31214 -Reviewed-by: Caolán McNamara -Tested-by: Caolán McNamara -(cherry picked from commit 8bd9db90383ee008777903c35c7a5eb2c5352e71) ---- - include/vcl/opengl/OpenGLContext.hxx | 2 + - slideshow/source/engine/opengl/TransitionImpl.cxx | 73 ++++++------ - slideshow/source/engine/opengl/TransitionImpl.hxx | 9 +- - .../source/engine/opengl/TransitionerImpl.cxx | 7 +- - vcl/inc/unx/gtk/gtkinst.hxx | 1 + - vcl/source/opengl/OpenGLContext.cxx | 5 + - vcl/unx/gtk3/gtk3gtkinst.cxx | 127 +++++++++++++++++++++ - 7 files changed, 181 insertions(+), 43 deletions(-) - -diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx -index ffcd816..5796f7e 100644 ---- a/include/vcl/opengl/OpenGLContext.hxx -+++ b/include/vcl/opengl/OpenGLContext.hxx -@@ -129,6 +129,8 @@ public: - void registerAsCurrent(); - /// reset the GL context so this context is not implicit in subsequent GL calls. - virtual void resetCurrent(); -+ /// unbind the GL_FRAMEBUFFER to its default state, needed for gtk3 -+ virtual void restoreDefaultFramebuffer(); - virtual void swapBuffers(); - virtual void sync(); - void show(); -diff --git a/slideshow/source/engine/opengl/TransitionImpl.cxx b/slideshow/source/engine/opengl/TransitionImpl.cxx -index 115aaf2..7b9b894 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.cxx -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -132,7 +133,7 @@ static std::vector uploadPrimitives(const Primitives_t& primitives) - return indices; - } - --bool OGLTransitionImpl::prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+bool OGLTransitionImpl::prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - m_nProgramObject = makeShader(); - if (!m_nProgramObject) -@@ -200,7 +201,7 @@ bool OGLTransitionImpl::prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteri - glBindBuffer(GL_ARRAY_BUFFER, 0); - CHECK_GL_ERROR(); - -- prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - return true; - } - -@@ -233,7 +234,7 @@ void OGLTransitionImpl::finish( double, double, double, double, double ) - { - } - --void OGLTransitionImpl::prepareTransition( sal_Int32, sal_Int32 ) -+void OGLTransitionImpl::prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) - { - } - -@@ -241,7 +242,7 @@ void OGLTransitionImpl::finishTransition() - { - } - --void OGLTransitionImpl::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) -+void OGLTransitionImpl::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -257,7 +258,7 @@ void OGLTransitionImpl::displaySlides_( double nTime, sal_Int32 glLeavingSlideTe - } - - void OGLTransitionImpl::display( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ) -+ double SlideWidth, double SlideHeight, double DispWidth, double DispHeight, OpenGLContext *pContext ) - { - const double SlideWidthScale = SlideWidth/DispWidth; - const double SlideHeightScale = SlideHeight/DispHeight; -@@ -267,7 +268,7 @@ void OGLTransitionImpl::display( double nTime, sal_Int32 glLeavingSlideTex, sal_ - prepare( nTime, SlideWidth, SlideHeight, DispWidth, DispHeight ); - - CHECK_GL_ERROR(); -- displaySlides_( nTime, glLeavingSlideTex, glEnteringSlideTex, SlideWidthScale, SlideHeightScale ); -+ displaySlides_( nTime, glLeavingSlideTex, glEnteringSlideTex, SlideWidthScale, SlideHeightScale, pContext ); - CHECK_GL_ERROR(); - displayScene( nTime, SlideWidth, SlideHeight, DispWidth, DispHeight ); - CHECK_GL_ERROR(); -@@ -534,9 +535,9 @@ public: - - private: - virtual GLuint makeShader() const override; -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - -- virtual void prepareTransition( sal_Int32, sal_Int32 ) override { -+ virtual void prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) override { - glDisable(GL_CULL_FACE); - } - -@@ -551,7 +552,7 @@ GLuint ReflectionTransition::makeShader() const - } - - void ReflectionTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -598,7 +599,7 @@ public: - private: - virtual GLuint makeShader() const override; - -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - }; - - GLuint SimpleTransition::makeShader() const -@@ -607,7 +608,7 @@ GLuint SimpleTransition::makeShader() const - } - - void SimpleTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -857,10 +858,10 @@ public: - {} - - private: -- virtual void displaySlides_(double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale) override; -+ virtual void displaySlides_(double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext) override; - }; - --void RochadeTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) -+void RochadeTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); - -@@ -1195,7 +1196,7 @@ public: - {} - - private: -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - }; - - Primitives_t makeLeavingSlide(double nTime) -@@ -1229,7 +1230,7 @@ Primitives_t makeLeavingSlide(double nTime) - } - - void DiamondTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -1411,7 +1412,7 @@ protected: - {} - - virtual void finishTransition() override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; - - private: - /** various data */ -@@ -1488,7 +1489,7 @@ void initPermTexture(GLuint *texID) - CHECK_GL_ERROR(); - } - --void PermTextureTransition::prepareTransition( sal_Int32, sal_Int32 ) -+void PermTextureTransition::prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) - { - CHECK_GL_ERROR(); - GLint location = glGetUniformLocation( m_nProgramObject, "permTexture" ); -@@ -1629,8 +1630,8 @@ public: - private: - virtual void finishTransition() override; - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - - GLint mnSlideLocation = -1; - GLint mnTileInfoLocation = -1; -@@ -1679,10 +1680,10 @@ glm::mat4 lookAt(const glm::vec3& eye, const glm::vec3& center, const glm::vec3& - -glm::dot(s, eye), -glm::dot(u, eye), glm::dot(f, eye), 1); - } - --void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); -- PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - CHECK_GL_ERROR(); - - mnSlideLocation = glGetUniformLocation(m_nProgramObject, "slide"); -@@ -1783,7 +1784,7 @@ void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 - } - } - -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - glBindTexture(GL_TEXTURE_2D, 0); - - glActiveTexture( GL_TEXTURE2 ); -@@ -1793,7 +1794,7 @@ void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 - glActiveTexture( GL_TEXTURE0 ); - } - --void VortexTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) -+void VortexTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext * pContext ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -1815,7 +1816,7 @@ void VortexTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex - displaySlide( nTime, glEnteringSlideTex, getScene().getEnteringSlide(), SlideWidthScale, SlideHeightScale ); - - glViewport(viewport[0], viewport[1], viewport[2], viewport[3]); -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - glUniform1f( mnShadowLocation, 0.0 ); - glUniform1f( mnSlideLocation, 0.0 ); - displaySlide( nTime, glLeavingSlideTex, getScene().getLeavingSlide(), SlideWidthScale, SlideHeightScale ); -@@ -1877,7 +1878,7 @@ public: - - private: - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; - virtual void prepare( double nTime, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ) override; - - glm::vec2 maCenter; -@@ -1889,7 +1890,7 @@ GLuint RippleTransition::makeShader() const - return OpenGLHelper::LoadShaders( "basicVertexShader", "rippleFragmentShader" ); - } - --void RippleTransition::prepareTransition( sal_Int32, sal_Int32 ) -+void RippleTransition::prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) - { - GLint nCenterLocation = glGetUniformLocation(m_nProgramObject, "center"); - CHECK_GL_ERROR(); -@@ -1974,7 +1975,7 @@ public: - - private: - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; - virtual void finish( double nTime, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ) override; - - GLuint maBuffer = 0; -@@ -1990,10 +1991,10 @@ struct ThreeFloats - GLfloat x, y, z; - }; - --void GlitterTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+void GlitterTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); -- PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - CHECK_GL_ERROR(); - - GLint nNumTilesLocation = glGetUniformLocation(m_nProgramObject, "numTiles"); -@@ -2078,8 +2079,8 @@ public: - private: - virtual void finishTransition() override; - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - - GLint maHexagonSizeLocation = -1; - GLint maSelectedTextureLocation = -1; -@@ -2112,10 +2113,10 @@ GLuint HoneycombTransition::makeShader() const - return OpenGLHelper::LoadShaders( "honeycombVertexShader", "honeycombFragmentShader", "honeycombGeometryShader" ); - } - --void HoneycombTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+void HoneycombTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); -- PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - - CHECK_GL_ERROR(); - maHexagonSizeLocation = glGetUniformLocation(m_nProgramObject, "hexagonSize"); -@@ -2189,11 +2190,11 @@ void HoneycombTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_In - return; - } - -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - } - - void HoneycombTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); - applyOverallOperations(nTime, SlideWidthScale, SlideHeightScale); -@@ -2217,7 +2218,7 @@ void HoneycombTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlide - - // The back (entering) slide needs to be drawn before the front (leaving) one in order for blending to work. - glViewport(viewport[0], viewport[1], viewport[2], viewport[3]); -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - glUniform1f(mnShadowLocation, 0.0); - glUniform1f(maSelectedTextureLocation, 0.0); - glUniform1f(maHexagonSizeLocation, 1.0f - borderSize); -diff --git a/slideshow/source/engine/opengl/TransitionImpl.hxx b/slideshow/source/engine/opengl/TransitionImpl.hxx -index b739c0c..54b7ba0 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.hxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.hxx -@@ -36,6 +36,7 @@ - #include - - class Primitive; -+class OpenGLContext; - class Operation; - class SceneObject; - class TransitionData; -@@ -136,10 +137,10 @@ public: - - /** Prepare transition. - */ -- bool prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ); -+ bool prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ); - /** Display a step of the transition. - */ -- void display( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ); -+ void display( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight, OpenGLContext *pContext ); - /** Clean up after transition. - */ - void finish(); -@@ -182,7 +183,7 @@ private: - * - * Default implementation does nothing. - */ -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ); -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ); - - /** This function is called when the transition needs to clear after itself, like delete own textures etc. - * -@@ -195,7 +196,7 @@ private: - * Default implementation applies overall operations and then - * displays both slides. - */ -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ); -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ); - - /** This function is called in prepare method to create the GL program. - * -diff --git a/slideshow/source/engine/opengl/TransitionerImpl.cxx b/slideshow/source/engine/opengl/TransitionerImpl.cxx -index 01cd3e5..f2f0b3f 100644 ---- a/slideshow/source/engine/opengl/TransitionerImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionerImpl.cxx -@@ -407,7 +407,7 @@ void OGLTransitionerImpl::impl_prepareSlides() - bool OGLTransitionerImpl::impl_prepareTransition() - { - if( mpTransition && mpTransition->getSettings().mnRequiredGLVersion <= mnGLVersion ) -- return mpTransition->prepare( maLeavingSlideGL, maEnteringSlideGL ); -+ return mpTransition->prepare( maLeavingSlideGL, maEnteringSlideGL, mpContext.get() ); - return false; - } - -@@ -1046,10 +1046,11 @@ void SAL_CALL OGLTransitionerImpl::update( double nTime ) throw (uno::RuntimeExc - CHECK_GL_ERROR(); - - const GLWindow& rGLWindow(mpContext->getOpenGLWindow()); -- mpTransition->display( nTime, maLeavingSlideGL, maEnteringSlideGL, -+ mpTransition->display(nTime, maLeavingSlideGL, maEnteringSlideGL, - maSlideSize.Width, maSlideSize.Height, - static_cast(rGLWindow.Width), -- static_cast(rGLWindow.Height) ); -+ static_cast(rGLWindow.Height), -+ mpContext.get()); - - mpContext->swapBuffers(); - -diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx -index 514b13f..e20ca9d 100644 ---- a/vcl/inc/unx/gtk/gtkinst.hxx -+++ b/vcl/inc/unx/gtk/gtkinst.hxx -@@ -239,6 +239,7 @@ public: - virtual css::uno::Reference< css::uno::XInterface > CreateClipboard( const css::uno::Sequence< css::uno::Any >& i_rArguments ) override; - virtual css::uno::Reference< css::uno::XInterface > CreateDragSource() override; - virtual css::uno::Reference< css::uno::XInterface > CreateDropTarget() override; -+ virtual OpenGLContext* CreateOpenGLContext() override; - #endif - - virtual const cairo_font_options_t* GetCairoFontOptions() override; -diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx -index 1b2893b..d7d7841 100644 ---- a/vcl/source/opengl/OpenGLContext.cxx -+++ b/vcl/source/opengl/OpenGLContext.cxx -@@ -330,6 +330,11 @@ void OpenGLContext::InitGLDebugging() - #endif - } - -+void OpenGLContext::restoreDefaultFramebuffer() -+{ -+ glBindFramebuffer(GL_FRAMEBUFFER, 0); -+} -+ - void OpenGLContext::setWinPosAndSize(const Point &rPos, const Size& rSize) - { - if(m_xWindow) -diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx -index 7148882..947bcc9 100644 ---- a/vcl/unx/gtk3/gtk3gtkinst.cxx -+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx -@@ -916,4 +916,131 @@ Reference< XInterface > GtkInstance::CreateDragSource() - return Reference< XInterface >( static_cast(new GtkDragSource()) ); - } - -+class GtkOpenGLContext : public OpenGLContext -+{ -+ GLWindow m_aGLWin; -+ GtkWidget *m_pGLArea; -+ -+public: -+ GtkOpenGLContext() -+ : OpenGLContext() -+ , m_pGLArea(nullptr) -+ { -+ } -+ -+ virtual bool initWindow() override -+ { -+ if( !m_pChildWindow ) -+ { -+ SystemWindowData winData = generateWinData(mpWindow, mbRequestLegacyContext); -+ m_pChildWindow = VclPtr::Create(mpWindow, 0, &winData, false); -+ } -+ -+ if (m_pChildWindow) -+ { -+ InitChildWindow(m_pChildWindow.get()); -+ } -+ -+ return true; -+ } -+ -+private: -+ virtual const GLWindow& getOpenGLWindow() const override { return m_aGLWin; } -+ virtual GLWindow& getModifiableOpenGLWindow() override { return m_aGLWin; } -+ -+ static void signalDestroy(GtkWidget*, gpointer context) -+ { -+ GtkOpenGLContext* pThis = static_cast(context); -+ pThis->m_pGLArea = nullptr; -+ } -+ -+ virtual bool ImplInit() override -+ { -+#if GTK_CHECK_VERSION(3,16,0) -+ const SystemEnvData* pEnvData = m_pChildWindow->GetSystemData(); -+ GtkWidget *pParent = static_cast(pEnvData->pWidget); -+ m_pGLArea = gtk_gl_area_new(); -+ g_signal_connect(G_OBJECT(m_pGLArea), "destroy", G_CALLBACK(signalDestroy), this); -+ gtk_gl_area_set_has_depth_buffer(GTK_GL_AREA(m_pGLArea), true); -+ gtk_gl_area_set_auto_render(GTK_GL_AREA(m_pGLArea), false); -+ gtk_widget_set_hexpand(m_pGLArea, true); -+ gtk_widget_set_vexpand(m_pGLArea, true); -+ gtk_container_add(GTK_CONTAINER(pParent), m_pGLArea); -+ gtk_widget_show_all(pParent); -+ gtk_gl_area_make_current(GTK_GL_AREA(m_pGLArea)); -+ gtk_gl_area_attach_buffers(GTK_GL_AREA(m_pGLArea)); -+#endif -+ bool bRet = InitGL(); -+ InitGLDebugging(); -+ return bRet; -+ } -+ -+ virtual void restoreDefaultFramebuffer() override -+ { -+ OpenGLContext::restoreDefaultFramebuffer(); -+#if GTK_CHECK_VERSION(3,16,0) -+ gtk_gl_area_attach_buffers(GTK_GL_AREA(m_pGLArea)); -+#endif -+ } -+ -+ virtual void makeCurrent() override -+ { -+ if (isCurrent()) -+ return; -+ -+ clearCurrent(); -+ -+#if GTK_CHECK_VERSION(3,16,0) -+ if (m_pGLArea) -+ gtk_gl_area_make_current(GTK_GL_AREA(m_pGLArea)); -+#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() == gtk_gl_area_get_context(GTK_GL_AREA(m_pGLArea)); -+#else -+ return false; -+#endif -+ } -+ -+ virtual void sync() override -+ { -+#if GTK_CHECK_VERSION(3,16,0) -+ gtk_gl_area_queue_render(GTK_GL_AREA(m_pGLArea)); -+#endif -+ } -+ -+ 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) -+ gtk_gl_area_queue_render(GTK_GL_AREA(m_pGLArea)); -+#endif -+ BuffersSwapped(); -+ } -+}; -+ -+OpenGLContext* GtkInstance::CreateOpenGLContext() -+{ -+ return new GtkOpenGLContext; -+} -+ - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ --- -2.9.3 - diff --git a/0001-lower-the-system-epoxy-requirement.patch b/0001-lower-the-system-epoxy-requirement.patch deleted file mode 100644 index c83a247..0000000 --- a/0001-lower-the-system-epoxy-requirement.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e673349ad31a5ea469ef90e3fb03f7f0af5bb559 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 20 Dec 2016 11:11:32 +0000 -Subject: [PATCH] lower the system epoxy requirement - -(cherry picked from commit d0c3dba866ba0900dcaf2c3a25200edb516bd608) - -Change-Id: I2fff46985502dafa3b860aaebe862853ebaccabb ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0f8e58d..c4f64d7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -11727,7 +11727,7 @@ AC_SUBST(CAIRO_LIBS) - dnl =================================================================== - dnl Check for system epoxy - dnl =================================================================== --libo_CHECK_SYSTEM_MODULE([epoxy], [EPOXY], [epoxy >= 1.3.1], ["-I${WORKDIR}/UnpackedTarball/epoxy/include"]) -+libo_CHECK_SYSTEM_MODULE([epoxy], [EPOXY], [epoxy >= 1.2], ["-I${WORKDIR}/UnpackedTarball/epoxy/include"]) - - dnl =================================================================== - dnl Test whether to use avahi --- -2.9.3 - diff --git a/0001-right-click-to-insert-image.patch b/0001-right-click-to-insert-image.patch deleted file mode 100644 index 92e3afd..0000000 --- a/0001-right-click-to-insert-image.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d44ed98fecf6749ce64f1020097477291bb9fdb8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Mon, 20 Feb 2017 11:14:33 +0000 -Subject: [PATCH] right click to insert image -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -this was originally added by... - -commit 67c3e2abf353c4893a4680f7a5b2d8c457ef18d1 -Author: Caolán McNamara -Date: Mon May 25 15:00:47 2015 +0100 - - impress: right click to insert image - - Change-Id: I521f074bbd500b81d74be7e0e771bd49efc29c9c - -then removed with... - -commit 7edfee8e4f81c17ec95a03843c509b95b8e404b2 -Author: Yousuf Philips -Date: Fri Dec 11 18:53:15 2015 +0400 - - Rearrangement of various context menus in Impress - - Change-Id: I6674254898dc6d7351ec4450e2aa5ac3f177bdbf - Reviewed-on: https://gerrit.libreoffice.org/20640 - Tested-by: Jenkins - Reviewed-by: Yousuf Philips - -but no particular indication as to why - -Change-Id: I8b0ec6c22732d347fc7d354dc5ee5e05b5a3ec79 ---- - sd/uiconfig/simpress/popupmenu/page.xml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/sd/uiconfig/simpress/popupmenu/page.xml b/sd/uiconfig/simpress/popupmenu/page.xml -index 307b2b9..0da2948 100644 ---- a/sd/uiconfig/simpress/popupmenu/page.xml -+++ b/sd/uiconfig/simpress/popupmenu/page.xml -@@ -13,6 +13,7 @@ - - - -+ - - - --- -2.9.3 - diff --git a/libreoffice.spec b/libreoffice.spec index 3dd6e6a..e3d8e2e 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -1,9 +1,9 @@ # download path contains version without the last (fourth) digit -%define libo_version 5.3.3 +%define libo_version 5.4.0 # Should contain .alphaX / .betaX, if this is pre-release (actually # pre-RC) version. The pre-release string is part of tarball file names, # so we need a way to define it easily at one place. -%define libo_prerelease %{nil} +%define libo_prerelease .alpha1 # Should contain any suffix of release tarball name, e.g., -buildfix1. %define libo_buildfix %{nil} # rhbz#715152 state vendor @@ -57,7 +57,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 -Version: %{libo_version}.1 +Version: %{libo_version}.0 Release: 1%{?libo_prerelease}%{?dist} License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0 and CC0 URL: http://www.libreoffice.org/ @@ -94,14 +94,18 @@ Source100: %{external_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar. Source101: %{external_url}/liborcus-0.12.1.tar.gz Source102: %{external_url}/mdds-1.2.2.tar.bz2 Source103: %{external_url}/libcmis-0.5.1.tar.gz -Source104: %{external_url}/libwps-0.4.4.tar.bz2 +Source104: %{external_url}/libwps-0.4.6.tar.bz2 Source105: %{external_url}/libpagemaker-0.0.3.tar.bz2 Source106: %{external_url}/libzmf-0.0.1.tar.bz2 -Source107: %{external_url}/libstaroffice-0.0.2.tar.bz2 +Source107: %{external_url}/libstaroffice-0.0.3.tar.bz2 # TODO: maybe it's still possible to build with harfbuzz 0.9.36 with some amount of patching? Source108: %{external_url}/harfbuzz-1.3.2.tar.bz2 Source109: %{external_url}/3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz -%global bundling_options %{?bundling_options} --without-system-ucpp --without-system-orcus --without-system-mdds --without-system-libcmis --without-system-libwps --without-system-libpagemaker --without-system-libzmf --without-system-libstaroffice --without-system-harfbuzz --without-system-graphite +Source110: %{external_url}/gpgme-1.8.2.tar.bz2 +Source111: %{external_url}/libgpg-error-1.26.tar.bz2 +Source112: %{external_url}/libassuan-1.4.3.tar.bz2 +Source113: %{external_url}/cppunit-1.14.0.tar.gz +%global bundling_options %{?bundling_options} --without-system-ucpp --without-system-orcus --without-system-mdds --without-system-libcmis --without-system-libwps --without-system-libpagemaker --without-system-libzmf --without-system-libstaroffice --without-system-harfbuzz --without-system-graphite --without-system-gpgmepp --without-system-cppunit %endif # build tools @@ -141,7 +145,6 @@ BuildRequires: lpsolve-devel BuildRequires: openldap-devel BuildRequires: pam-devel BuildRequires: pkgconfig(bluez) -BuildRequires: pkgconfig(cppunit) BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(dconf) BuildRequires: pkgconfig(epoxy) @@ -191,8 +194,10 @@ BuildRequires: unixODBC-devel # libs / headers - conditional %if 0%{?fedora} +BuildRequires: gpgmepp-devel BuildRequires: kdelibs4-devel BuildRequires: openCOLLADA-devel +BuildRequires: pkgconfig(cppunit) >= 1.14.0 BuildRequires: pkgconfig(graphite2) BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(libcmis-0.5) @@ -236,15 +241,11 @@ Patch2: 0001-add-X-TryExec-entries-to-desktop-files.patch # not upstreamed: upstream wants an automatic restart after a crash; we # want a nice abrt report Patch3: 0001-don-t-suppress-crashes.patch -Patch4: 0001-change-from-glew-to-epoxy.patch -Patch5: 0001-gtk3-implement-opengl-support-for-slideshow.patch -Patch6: 0001-lower-the-system-epoxy-requirement.patch -Patch7: 0001-Resolves-tdf-105998-distort-hairline-borders-to-fall.patch -Patch8: 0001-Related-rhbz-1422353-make-writer-behave-like-calc-an.patch -Patch9: 0001-right-click-to-insert-image.patch -Patch10: 0001-Related-tdf-106100-recover-mangled-svg-in-presentati.patch -Patch11: 0001-Related-rhbz-1334915-tdf-100158-hack-using-startcent.patch -Patch12: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch +# not upstreamed +Patch4: 0001-Related-tdf-106100-recover-mangled-svg-in-presentati.patch +# not upstreamed +Patch5: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch +Patch6: 0001-apparently-the-executable-does-not-need-pdfium-direc.patch %if 0%{?rhel} # not upstreamed @@ -1097,6 +1098,7 @@ touch autogen.lastrun --disable-fetch-external \ --disable-firebird-sdbc \ --disable-openssl \ + --disable-pdfium \ --disable-systray \ --enable-dconf \ --enable-evolution2 \ @@ -1621,6 +1623,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/libxmlfdlo.so %{baseinstdir}/program/libxoflo.so %{baseinstdir}/program/libxsec_fw.so +%{baseinstdir}/program/libxsec_gpg.so %{baseinstdir}/program/libxsec_xmlsec.so %{baseinstdir}/program/libxsltdlglo.so %{baseinstdir}/program/libxsltfilterlo.so @@ -1733,7 +1736,6 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/resource/upden-US.res %{baseinstdir}/program/resource/vclen-US.res %{baseinstdir}/program/resource/writerperfecten-US.res -%{baseinstdir}/program/resource/wzien-US.res %{baseinstdir}/program/resource/xmlsecen-US.res %{baseinstdir}/program/resource/xsltdlgen-US.res %{baseinstdir}/program/senddoc @@ -1916,7 +1918,6 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %{baseinstdir}/program/resource/dbpen-US.res %{baseinstdir}/program/resource/rpten-US.res %{baseinstdir}/program/resource/rptuien-US.res -%{baseinstdir}/program/resource/sdbclen-US.res %{baseinstdir}/program/resource/sdberren-US.res %{baseinstdir}/share/registry/base.xcd %{baseinstdir}/share/registry/reportbuilder.xcd @@ -2095,7 +2096,6 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %{baseinstdir}/help/en-US/simpress.* %endif %{baseinstdir}/program/libanimcorelo.so -%{baseinstdir}/program/libplacewarelo.so %{baseinstdir}/program/libPresentationMinimizerlo.so %{baseinstdir}/program/libPresenterScreenlo.so %{baseinstdir}/program/libwpftimpresslo.so @@ -2331,6 +2331,9 @@ done %{_includedir}/LibreOfficeKit %changelog +* Tue May 02 2017 David Tardon - 1:5.4.0.0-1.alpha1 +- update to 5.4.0 alpha1 + * Wed Apr 19 2017 David Tardon - 1:5.3.3.1-1 - update to 5.3.3 rc1 diff --git a/sources b/sources index 075d281..03fcba7 100644 --- a/sources +++ b/sources @@ -7,6 +7,6 @@ SHA512 (a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip) = 2d3835f7ac356805025 SHA512 (0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz) = b9c02d63e9b47a838dbe67c05b9e9e4983d13b9d74794e1c30c73d341c3bc905c9edec3a72fa339ae8c0e06d97e69ac2ea23bf51336b77af14cab7ae67721a46 SHA512 (libreoffice-multiliblauncher.sh) = db532afdf5000bc66f9e02c7d0ab586468466f63f8f0bdb204832581e8277c5c59f688fa096548d642411cb8c46e8de4a744676b4e624c075262cfd6945138cd SHA512 (4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2) = 1e8a39205f21206d239871bd636f17768eb3997e08ba065c1111a537564bec2b4e97bcb2f7cd9e652a1d9b4f31cb0662010303c393aedc84b920bb5f41b27be8 -SHA512 (libreoffice-5.3.3.1.tar.xz) = b6dfd6188391094a18ac00e721f41eae8a7ac267b376b6517404a45e542cf95b654dd768305454ac3aade1e30d298bc502f5d3480b1fed91f13e9894f6f2d0de -SHA512 (libreoffice-help-5.3.3.1.tar.xz) = c5787b1be40fdb455bf1f2a254bf2e030e8062ab827d2b7b92e344a110308777eb719931f17b846b53e29fdcc9465d8de0f43355ac014b8722c16e9923d468ec -SHA512 (libreoffice-translations-5.3.3.1.tar.xz) = d06820fc4ce9c6c617533db228f6e80f260edaf7bd0b3ca0c9ebc16deacf3bb43f734cec35c8a888fd1aa5e8fb7bc7b616412cc0e13efa28f8bb54fcf4ad4bb1 +SHA512 (libreoffice-5.4.0.0.alpha1.tar.xz) = b19358fe40f9c047b06f301732926dad250bf890bda4f1f52f0b456369edb72311faf660952db40885f122548bf6005b645d8e675aa6799547696e0c6edb8157 +SHA512 (libreoffice-help-5.4.0.0.alpha1.tar.xz) = 3117fe84b46d2ce711f420f9b248047101679826b29897a80369b4bb3e36b946843cc7c48e358ec336e8fea749d8504abf4e6fd30c90a21372a4ca67f1fa61b1 +SHA512 (libreoffice-translations-5.4.0.0.alpha1.tar.xz) = 2edda598f6e86e62c4328e53e7c27a66770d95d199c062d90c25b36db7bb5c9bb12f9d54260f4dc5557c8258617f3705902422500ec1390f6abba9c15c91f95d