Patch-Source: https://src.fedoraproject.org/rpms/python-uranium/blob/rawhide/f/Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch diff --git a/UM/View/RenderBatch.py.orig b/UM/View/RenderBatch.py index 6deeeb1..5f1eda5 100644 --- a/UM/View/RenderBatch.py.orig +++ b/UM/View/RenderBatch.py @@ -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 --git a/UM/View/RenderPass.py.orig b/UM/View/RenderPass.py index 8068ddf..8cb4f67 100644 --- a/UM/View/RenderPass.py.orig +++ b/UM/View/RenderPass.py @@ -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 --git a/UM/View/SelectionPass.py.orig b/UM/View/SelectionPass.py index ef042a5..c28fe4f 100644 --- a/UM/View/SelectionPass.py.orig +++ b/UM/View/SelectionPass.py @@ -110,13 +110,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()