Your message dated Tue, 16 May 2023 20:48:22 +0000
with message-id <e1pz1ao-003tk1...@respighi.debian.org>
and subject line unblock marco
has caused the Debian Bug report #1036133,
regarding unblock: marco/1.26.1-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1036133: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036133
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package marco

Various issues have been fixed in 1.26.1-3:

+  * Revert "debian/control: Drop B-D: libxpresent-dev." introduced with
+    marco 1.26.0-2.
+    The underlying cause of the problem (see Launchpad issue #1960621) has
+    long been solved in X.org's present extension. (This really closes:
+    #1034605).

-> This fixes screen tearing if default compositor is on.

+ -- Mike Gabriel <sunwea...@debian.org>  Wed, 26 Apr 2023 07:46:12 +0200
+
+marco (1.26.1-2) unstable; urgency=medium
+
+  * debian/patches:
+    + Add patches 0001, 0002 and 0003. Fixes marco crashing when run in an X2Go
+      session. (Closes: #1034677).

-> This fixes launching MATE desktop sessions via X2Go. Without the above
named patches marco will crash when run inside an X2Go remote desktop
session.

+  * debian/{marco-common.install,20_marco-debian.gschema.override}:
+    + Disable compositing manager in marco, hides dark border around windows in
+      X2Go. (Closes: #982879). This also works around screen tearing in MATE
+      desktop when installing MATE in Debian with default settings. (Closes:
+      #1034605).

-> When run in X2Go (where the underlying Xserver lacks the composite
extension) all windows will have a thick black border. As marco is not bright 
enough
to differentiate between a local Xsession and a remote Xsession the best 
workaround
is disabling the Compositor by default in marco's gsettings.

[ Reason ]
MATE desktop is an ideal environment for remote desktop (such as X2Go).
This should stay supported in Debian 12 (as it used to be in Debian 10
and 11).

[ Impact ]
Big improvement for Debian's X2Go users.

[ Tests ]
Manually.

[ Risks ]
For MATE users on local desktop, upgrading to marco 1.26.1-3 will disable
the Compositor. It can be re-enabled via the MATE control center.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
None.

unblock marco/1.26.1-3
diff -Nru marco-1.26.1/debian/20_marco-debian.gschema.override 
marco-1.26.1/debian/20_marco-debian.gschema.override
--- marco-1.26.1/debian/20_marco-debian.gschema.override        1970-01-01 
01:00:00.000000000 +0100
+++ marco-1.26.1/debian/20_marco-debian.gschema.override        2023-04-25 
16:04:32.000000000 +0200
@@ -0,0 +1,2 @@
+[org.mate.Marco.general]
+compositing-manager=false
diff -Nru marco-1.26.1/debian/changelog marco-1.26.1/debian/changelog
--- marco-1.26.1/debian/changelog       2022-11-13 21:28:36.000000000 +0100
+++ marco-1.26.1/debian/changelog       2023-04-26 07:46:12.000000000 +0200
@@ -1,3 +1,26 @@
+marco (1.26.1-3) unstable; urgency=medium
+
+  * Revert "debian/control: Drop B-D: libxpresent-dev." introduced with
+    marco 1.26.0-2.
+    The underlying cause of the problem (see Launchpad issue #1960621) has
+    long been solved in X.org's present extension. (This really closes:
+    #1034605).
+
+ -- Mike Gabriel <sunwea...@debian.org>  Wed, 26 Apr 2023 07:46:12 +0200
+
+marco (1.26.1-2) unstable; urgency=medium
+
+  * debian/patches:
+    + Add patches 0001, 0002 and 0003. Fixes marco crashing when run in an X2Go
+      session. (Closes: #1034677).
+  * debian/{marco-common.install,20_marco-debian.gschema.override}:
+    + Disable compositing manager in marco, hides dark border around windows in
+      X2Go. (Closes: #982879). This also works around screen tearing in MATE
+      desktop when installing MATE in Debian with default settings. (Closes:
+      #1034605).
+
+ -- Mike Gabriel <sunwea...@debian.org>  Tue, 25 Apr 2023 15:49:34 +0200
+
 marco (1.26.1-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru marco-1.26.1/debian/control marco-1.26.1/debian/control
--- marco-1.26.1/debian/control 2022-11-13 21:13:14.000000000 +0100
+++ marco-1.26.1/debian/control 2023-04-26 07:46:04.000000000 +0200
@@ -25,6 +25,7 @@
                libxext-dev,
                libxfixes-dev,
                libxinerama-dev,
+               libxpresent-dev,
                libxrandr-dev,
                libxrender-dev,
                libxres-dev,
diff -Nru marco-1.26.1/debian/marco-common.install 
marco-1.26.1/debian/marco-common.install
--- marco-1.26.1/debian/marco-common.install    2016-02-07 12:15:35.000000000 
+0100
+++ marco-1.26.1/debian/marco-common.install    2023-04-25 16:05:14.000000000 
+0200
@@ -5,3 +5,4 @@
 usr/share/mate-control-center/
 usr/share/mate/
 usr/share/themes/
+debian/20_marco-debian.gschema.override usr/share/glib-2.0/schemas/
diff -Nru 
marco-1.26.1/debian/patches/0001_test-retval-from-XResQueryClientIds.patch 
marco-1.26.1/debian/patches/0001_test-retval-from-XResQueryClientIds.patch
--- marco-1.26.1/debian/patches/0001_test-retval-from-XResQueryClientIds.patch  
1970-01-01 01:00:00.000000000 +0100
+++ marco-1.26.1/debian/patches/0001_test-retval-from-XResQueryClientIds.patch  
2023-04-25 15:33:20.000000000 +0200
@@ -0,0 +1,31 @@
+From 9c8e9564d2f5ed27175c0a6061394c25889dfb31 Mon Sep 17 00:00:00 2001
+From: Joakim Tjernlund <joakim.tjernl...@infinera.com>
+Date: Mon, 19 Dec 2022 16:58:10 +0100
+Subject: [PATCH] test return value from XResQueryClientIds()
+
+---
+ src/core/window-props.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/src/core/window-props.c b/src/core/window-props.c
+index 3414a3d9a..b27809ab4 100644
+--- a/src/core/window-props.c
++++ b/src/core/window-props.c
+@@ -309,11 +309,12 @@ get_local_pid (MetaWindow *window)
+   spec.client = window->xwindow;
+   spec.mask = XRES_CLIENT_ID_PID_MASK;
+ 
+-  XResQueryClientIds (window->display->xdisplay,
+-                      1,
+-                      &spec,
+-                      &num_ids,
+-                      &client_ids);
++  if (!XResQueryClientIds (window->display->xdisplay,
++                          1,
++                          &spec,
++                          &num_ids,
++                          &client_ids))
++      return pid;
+ 
+   for (i = 0; i < num_ids; i++)
+     {
diff -Nru marco-1.26.1/debian/patches/0002_test-xres-1.2-is-present.patch 
marco-1.26.1/debian/patches/0002_test-xres-1.2-is-present.patch
--- marco-1.26.1/debian/patches/0002_test-xres-1.2-is-present.patch     
1970-01-01 01:00:00.000000000 +0100
+++ marco-1.26.1/debian/patches/0002_test-xres-1.2-is-present.patch     
2023-04-25 15:57:19.000000000 +0200
@@ -0,0 +1,73 @@
+From 066888715066fbc4625612c8738c32b66666ceee Mon Sep 17 00:00:00 2001
+From: Joakim Tjernlund <joakim.tjernl...@infinera.com>
+Date: Mon, 19 Dec 2022 16:59:06 +0100
+Subject: [PATCH] Test Xres 1.2 is present
+
+Before using any Xres extension one must call XResQueryExtension()
+Also make sure Xres 1.2 is available as marco need XResQueryClientIds()
+---
+ src/core/display-private.h |  1 +
+ src/core/display.c         | 14 ++++++++++++--
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+--- a/src/core/display-private.h
++++ b/src/core/display-private.h
+@@ -80,6 +80,7 @@
+ struct _MetaDisplay {
+       char* name;
+       Display* xdisplay;
++      gboolean have_xres; /* Got XRES >= 1.2 */
+ 
+       Window leader_window;
+       Window timestamp_pinging_window;
+--- a/src/core/display.c
++++ b/src/core/display.c
+@@ -50,6 +50,7 @@
+ #include "compositor.h"
+ #include <X11/Xatom.h>
+ #include <X11/cursorfont.h>
++#include <X11/extensions/XRes.h>
+ 
+ #ifdef HAVE_SOLARIS_XINERAMA
+       #include <X11/extensions/xinerama.h>
+@@ -329,7 +330,8 @@
+   Display *xdisplay;
+   GSList *screens;
+   GSList *tmp;
+-  int i;
++  int i, event_base, error_base, major, minor;
++  gboolean have_xres = FALSE;
+   guint32 timestamp;
+ 
+   /* A list of all atom names, so that we can intern them in one go. */
+@@ -343,6 +345,7 @@
+   meta_verbose ("Opening display '%s'\n", XDisplayName (NULL));
+ 
+   xdisplay = meta_ui_get_display ();
++  event_base = error_base = major = minor = 0;
+ 
+   if (xdisplay == NULL)
+     {
+@@ -350,7 +353,13 @@
+                   XDisplayName (NULL));
+       return FALSE;
+     }
+-
++  /* Make sure to init Xres any extensions */
++  if (XResQueryExtension(xdisplay, &event_base, &error_base) &&
++      XResQueryVersion (xdisplay, &major, &minor) == 1)
++    {
++      if (major > 1 || (major == 1 && minor >= 2))
++          have_xres = TRUE;
++    }
+   if (meta_is_syncing ())
+     XSynchronize (xdisplay, True);
+ 
+@@ -365,6 +374,7 @@
+    */
+   the_display->name = g_strdup (XDisplayName (NULL));
+   the_display->xdisplay = xdisplay;
++  the_display->have_xres = have_xres;
+   the_display->error_trap_synced_at_last_pop = TRUE;
+   the_display->error_traps = 0;
+   the_display->error_trap_handler = NULL;
diff -Nru 
marco-1.26.1/debian/patches/0003_test-if-XResQueryClientIds-is-available.patch 
marco-1.26.1/debian/patches/0003_test-if-XResQueryClientIds-is-available.patch
--- 
marco-1.26.1/debian/patches/0003_test-if-XResQueryClientIds-is-available.patch  
    1970-01-01 01:00:00.000000000 +0100
+++ 
marco-1.26.1/debian/patches/0003_test-if-XResQueryClientIds-is-available.patch  
    2023-04-25 15:34:38.000000000 +0200
@@ -0,0 +1,23 @@
+From 6cc8a2ff1e80d55d8edd7cd9c605bd068e83a72b Mon Sep 17 00:00:00 2001
+From: Joakim Tjernlund <joakim.tjernl...@infinera.com>
+Date: Thu, 29 Dec 2022 14:51:57 +0100
+Subject: [PATCH] Test if XResQueryClientIds() is available before using it.
+
+Needed for X2Go as it does not have XRES 1.2 extension.
+---
+ src/core/window-props.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/core/window-props.c b/src/core/window-props.c
+index b27809ab4..06df9e660 100644
+--- a/src/core/window-props.c
++++ b/src/core/window-props.c
+@@ -305,6 +305,8 @@ get_local_pid (MetaWindow *window)
+   long i;
+ 
+   pid = -1;
++  if (window->display->have_xres == FALSE)
++    return pid;
+ 
+   spec.client = window->xwindow;
+   spec.mask = XRES_CLIENT_ID_PID_MASK;
diff -Nru marco-1.26.1/debian/patches/series marco-1.26.1/debian/patches/series
--- marco-1.26.1/debian/patches/series  2022-11-13 21:08:12.000000000 +0100
+++ marco-1.26.1/debian/patches/series  2023-04-25 15:34:49.000000000 +0200
@@ -1,3 +1,6 @@
 
 0000_shadows.patch
 1001_marco-Add-cmdline-option-no-keybindings-for-disablin.patch
+0001_test-retval-from-XResQueryClientIds.patch
+0002_test-xres-1.2-is-present.patch
+0003_test-if-XResQueryClientIds-is-available.patch

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to