diff --git a/Uranium-5.3.0-qt-replace-gltrue-glfalse-with-bytes.patch b/Uranium-5.3.0-qt-replace-gltrue-glfalse-with-bytes.patch deleted file mode 100644 index 2a2ecd6..0000000 --- a/Uranium-5.3.0-qt-replace-gltrue-glfalse-with-bytes.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up Uranium-5.3.0/UM/View/RenderBatch.py.glfix Uranium-5.3.0/UM/View/RenderBatch.py ---- Uranium-5.3.0/UM/View/RenderBatch.py.glfix 2023-05-22 12:24:01.766428096 -0400 -+++ Uranium-5.3.0/UM/View/RenderBatch.py 2023-05-22 12:24:25.918715384 -0400 -@@ -186,10 +186,10 @@ class RenderBatch: - - if self._render_type == self.RenderType.Solid: - self._gl.glEnable(self._gl.GL_DEPTH_TEST) -- self._gl.glDepthMask(self._gl.GL_TRUE) -+ self._gl.glDepthMask(b'1') - elif self._render_type == self.RenderType.Transparent: - self._gl.glEnable(self._gl.GL_DEPTH_TEST) -- self._gl.glDepthMask(self._gl.GL_FALSE) -+ self._gl.glDepthMask(b'0') - elif self._render_type == self.RenderType.Overlay: - self._gl.glDisable(self._gl.GL_DEPTH_TEST) - -diff -up Uranium-5.3.0/UM/View/RenderPass.py.glfix Uranium-5.3.0/UM/View/RenderPass.py ---- Uranium-5.3.0/UM/View/RenderPass.py.glfix 2023-05-22 12:24:33.374804074 -0400 -+++ Uranium-5.3.0/UM/View/RenderPass.py 2023-05-22 12:25:06.914207005 -0400 -@@ -93,8 +93,8 @@ class RenderPass: - self._fbo.bind() - - # Ensure we can actually write to the relevant FBO components. -- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE) -- self._gl.glDepthMask(self._gl.GL_TRUE) -+ self._gl.glColorMask(b'1', b'1',b'1', b'1') -+ self._gl.glDepthMask(b'1') - - self._gl.glClear(self._gl.GL_COLOR_BUFFER_BIT | self._gl.GL_DEPTH_BUFFER_BIT) - -diff -up Uranium-5.3.0/UM/View/SelectionPass.py.glfix Uranium-5.3.0/UM/View/SelectionPass.py ---- Uranium-5.3.0/UM/View/SelectionPass.py.glfix 2023-05-22 12:25:22.790403768 -0400 -+++ Uranium-5.3.0/UM/View/SelectionPass.py 2023-05-22 12:26:49.585479447 -0400 -@@ -109,13 +109,13 @@ class SelectionPass(RenderPass): - if selectable_objects: - batch.render(self._scene.getActiveCamera()) - -- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE) -+ self._gl.glColorMask(b'1', b'1', b'1', b'0') - self._gl.glDisable(self._gl.GL_DEPTH_TEST) - - tool_handle.render(self._scene.getActiveCamera()) - - self._gl.glEnable(self._gl.GL_DEPTH_TEST) -- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE) -+ self._gl.glColorMask(b'1', b'1', b'1', b'1') - - self.release() - diff --git a/Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch b/Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch new file mode 100644 index 0000000..20b2187 --- /dev/null +++ b/Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch @@ -0,0 +1,91 @@ +diff -up Uranium-5.3.0/UM/View/RenderBatch.py.glfix Uranium-5.3.0/UM/View/RenderBatch.py +--- Uranium-5.3.0/UM/View/RenderBatch.py.glfix 2023-05-31 10:16:27.534658464 -0400 ++++ Uranium-5.3.0/UM/View/RenderBatch.py 2023-05-31 10:27:39.386638905 -0400 +@@ -186,10 +186,24 @@ class RenderBatch: + + if self._render_type == self.RenderType.Solid: + self._gl.glEnable(self._gl.GL_DEPTH_TEST) +- self._gl.glDepthMask(self._gl.GL_TRUE) ++ try: ++ self._gl.glDepthMask(self._gl.GL_TRUE) ++ except: ++ Logger.log("w", "glDepthMask does not like ints, trying bytes...") ++ try: ++ self._gl.glDepthMask(b'1') ++ except: ++ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants") + elif self._render_type == self.RenderType.Transparent: + self._gl.glEnable(self._gl.GL_DEPTH_TEST) +- self._gl.glDepthMask(self._gl.GL_FALSE) ++ try: ++ self._gl.glDepthMask(self._gl.GL_FALSE) ++ except: ++ Logger.log("w", "glDepthMask does not like ints, trying bytes...") ++ try: ++ self._gl.glDepthMask(b'1') ++ except: ++ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants") + elif self._render_type == self.RenderType.Overlay: + self._gl.glDisable(self._gl.GL_DEPTH_TEST) + +diff -up Uranium-5.3.0/UM/View/RenderPass.py.glfix Uranium-5.3.0/UM/View/RenderPass.py +--- Uranium-5.3.0/UM/View/RenderPass.py.glfix 2023-05-31 10:24:19.093985708 -0400 ++++ Uranium-5.3.0/UM/View/RenderPass.py 2023-05-31 10:27:13.831299703 -0400 +@@ -93,8 +93,22 @@ class RenderPass: + self._fbo.bind() + + # Ensure we can actually write to the relevant FBO components. +- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE) +- self._gl.glDepthMask(self._gl.GL_TRUE) ++ try: ++ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE) ++ except: ++ Logger.log("w", "glColorMask does not like ints, trying bytes...") ++ try: ++ self._gl.glColorMask(b'1', b'1',b'1', b'1') ++ except: ++ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants") ++ try: ++ self._gl.glDepthMask(self._gl.GL_TRUE) ++ except: ++ Logger.log("w", "glDepthMask does not like ints, trying bytes...") ++ try: ++ self._gl.glDepthMask(b'1') ++ except: ++ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants") + + self._gl.glClear(self._gl.GL_COLOR_BUFFER_BIT | self._gl.GL_DEPTH_BUFFER_BIT) + +diff -up Uranium-5.3.0/UM/View/SelectionPass.py.glfix Uranium-5.3.0/UM/View/SelectionPass.py +--- Uranium-5.3.0/UM/View/SelectionPass.py.glfix 2023-05-31 10:28:17.500144796 -0400 ++++ Uranium-5.3.0/UM/View/SelectionPass.py 2023-05-31 10:30:48.133144186 -0400 +@@ -109,13 +109,27 @@ class SelectionPass(RenderPass): + if selectable_objects: + batch.render(self._scene.getActiveCamera()) + +- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE) ++ try: ++ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE) ++ except: ++ Logger.log("w", "glColorMask does not like ints, trying bytes...") ++ try: ++ self._gl.glColorMask(b'1', b'1', b'1', b'0') ++ except: ++ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants") + self._gl.glDisable(self._gl.GL_DEPTH_TEST) + + tool_handle.render(self._scene.getActiveCamera()) + + self._gl.glEnable(self._gl.GL_DEPTH_TEST) +- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE) ++ try: ++ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE) ++ except: ++ Logger.log("w", "glColorMask does not like ints, trying bytes...") ++ try: ++ self._gl.glColorMask(b'1', b'1', b'1', b'1') ++ except: ++ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants") + + self.release() + diff --git a/python-uranium.spec b/python-uranium.spec index bad2f1b..b99f3e0 100644 --- a/python-uranium.spec +++ b/python-uranium.spec @@ -1,12 +1,12 @@ Name: python-uranium Version: 5.3.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A Python framework for building desktop applications License: LGPLv3+ URL: https://github.com/Ultimaker/Uranium Source0: %{url}/archive/%{version}.tar.gz#/Uranium-%{version}.tar.gz Patch0: Uranium-5.3.0-qt-6.5-hack.patch -Patch1: Uranium-5.3.0-qt-replace-gltrue-glfalse-with-bytes.patch +Patch1: Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch # Cmake bits taken from 4.13.1, before upstream went nuts with conan Source2: mod_bundled_packages_json.py @@ -133,6 +133,9 @@ popd %changelog +* Wed May 31 2023 Tom Callaway - 5.3.0-4 +- try ints, then bytes for gl mask functions + * Mon May 22 2023 Tom Callaway - 5.3.0-3 - try to hack qt6.5 support