← Back to team overview

ubuntu-mate-dev team mailing list archive

Bug#779340: unblock (pre-approval): marco/1.8.2+dfsg1-5

 

Package: release.debian.org
Severity: normal
User: release.debian.org@xxxxxxxxxxxxxxxxxxx
Usertags: unblock

Please consider unblocking planned upload of package marco.

Due to a conceptual change in the Gsettings backend subscription handling
in glib 2.43, the MATE upstream team stumbled over several code flaws in
the Gsettings implemenation of MATE. The Debian MATE Packaging Team,
together with the Ubuntu MATE team, would love to see these code flaws
fixed in Debian jessie, although Debian jessie ships an older version of
glib and is not directly affected by these flaws at the moment.

In MATE, several components erroneously read from Gsettings before they
are actually connected to their signals. With the change [1] in glib,
this leads to situations, where changes of certain desktop settings do
not get propagated to the running application (Gsettings notifications
fail). The user needs to logout and login to see changes on desktop
components take effect.

These problems

  o will hit Debian, once glib 2.43 gets uploaded
  o hit derivatives of Debian that ship glib 2.43, currently
    Ubuntu MATE 15.04

Indepent from those code flaws being invisible in Debian jessie or not,
the actual code passages in affected MATE components are technically
wrong and should be prophylactically fixed in Debian. This will also
greatly ease the team cooperation with Ubuntu MATE (from where we receive
a great deal of input and impact).

+  [ Martin Wimpress ]
+  * debian/patches:
+    + Add 0006_glib_connect_first.patch. Connect to settings
+      first, then read from them. Fixes severe breakage with glib >=
+      2.43.1. (Closes: #778694). (LP: #1426327).
+

-> In Marco (MATE Window Manager) the applied patch makes sure that
setting changes in the "Settings -> Preferences -> Windows" dialog box
immediately reach the running instance of Marco, even with glib >= 2.43
installed.

light+love,
Mike


[1] https://git.gnome.org/browse/glib/commit/?id=8ff5668a458344da22d30491e3ce726d861b3619


unblock marco/1.8.2+dfsg1-5

-- System Information:
Debian Release: 8.0
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'testing-updates'), (500, 'testing-proposed-updates'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
diff -Nru marco-1.8.2+dfsg1/debian/changelog marco-1.8.2+dfsg1/debian/changelog
--- marco-1.8.2+dfsg1/debian/changelog	2014-10-25 01:52:55.000000000 +0200
+++ marco-1.8.2+dfsg1/debian/changelog	2015-02-27 12:28:29.000000000 +0100
@@ -1,3 +1,13 @@
+marco (1.8.2+dfsg1-5) unstable; urgency=medium
+
+  [ Martin Wimpress ]
+  * debian/patches:
+    + Add 0006_glib_connect_first.patch. Connect to settings
+      first, then read from them. Fixes severe breakage with glib >=
+      2.43.1. (Closes: #778694). (LP: #1426327).
+
+ -- Mike Gabriel <sunweaver@xxxxxxxxxx>  Fri, 27 Feb 2015 11:53:33 +0100
+
 marco (1.8.2+dfsg1-4) unstable; urgency=medium
 
   * debian/patches:
diff -Nru marco-1.8.2+dfsg1/debian/patches/0006_glib_connect_first.patch marco-1.8.2+dfsg1/debian/patches/0006_glib_connect_first.patch
--- marco-1.8.2+dfsg1/debian/patches/0006_glib_connect_first.patch	1970-01-01 01:00:00.000000000 +0100
+++ marco-1.8.2+dfsg1/debian/patches/0006_glib_connect_first.patch	2015-02-27 11:45:47.000000000 +0100
@@ -0,0 +1,43 @@
+From f56a1ba0abceaba79efa55120a9e706768809cb4 Mon Sep 17 00:00:00 2001
+From: Monsta <monsta@xxxxxxxx>
+Date: Wed, 18 Feb 2015 15:49:09 +0300
+Subject: [PATCH] prefs: first connect to settings, then read them.
+
+fixes the issue with GLib >= 2.43,
+https://git.gnome.org/browse/glib/commit/?id=8ff5668a458344da22d30491e3ce726d861b3619
+---
+ src/core/prefs.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/core/prefs.c b/src/core/prefs.c
+index 5f46b55..7f747a2 100644
+--- a/src/core/prefs.c
++++ b/src/core/prefs.c
+@@ -888,13 +888,6 @@ meta_prefs_init (void)
+   g_hash_table_insert (settings_schemas, KEY_MATE_TERMINAL_SCHEMA, settings_mate_terminal);
+   g_hash_table_insert (settings_schemas, KEY_MATE_MOUSE_SCHEMA, settings_mate_mouse);
+ 
+-  /* Pick up initial values. */
+-
+-  handle_preference_init_enum ();
+-  handle_preference_init_bool ();
+-  handle_preference_init_string ();
+-  handle_preference_init_int ();
+-
+   g_signal_connect (settings_general, "changed", G_CALLBACK (change_notify), NULL);
+   g_signal_connect (settings_command, "changed", G_CALLBACK (change_notify), NULL);
+   g_signal_connect (settings_screen_bindings, "changed", G_CALLBACK (change_notify), NULL);
+@@ -907,6 +900,13 @@ meta_prefs_init (void)
+   g_signal_connect (settings_mate_mouse, "changed::" KEY_MATE_MOUSE_CURSOR_THEME, G_CALLBACK (change_notify), NULL);
+   g_signal_connect (settings_mate_mouse, "changed::" KEY_MATE_MOUSE_CURSOR_SIZE, G_CALLBACK (change_notify), NULL);
+ 
++  /* Pick up initial values. */
++
++  handle_preference_init_enum ();
++  handle_preference_init_bool ();
++  handle_preference_init_string ();
++  handle_preference_init_int ();
++
+   init_bindings ();
+   init_commands ();
+   init_workspace_names ();
diff -Nru marco-1.8.2+dfsg1/debian/patches/series marco-1.8.2+dfsg1/debian/patches/series
--- marco-1.8.2+dfsg1/debian/patches/series	2014-10-25 01:52:34.000000000 +0200
+++ marco-1.8.2+dfsg1/debian/patches/series	2015-02-27 11:45:47.000000000 +0100
@@ -3,4 +3,5 @@
 0003_no-shadows-to-ARGB-windows.patch
 0004_dont-switch-workspace-when-switching-to-sticky-window.patch
 0005_fix-resizing-csd-windows.patch
+0006_glib_connect_first.patch
 2001_omit-gfdl-licensed-theme-documentation.patch