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

Please unblock package cinnamon

In order to provide the best experience for our users, Maxy and I went through the upstream patches that had been done to Cinnamon since the last version uploaded to stretch, and identified the ones that impact the user experience and that we would like to see in stretch.

The lastest upload includes the following fixes, cherry-picked from upstream:

cinnamon (3.2.7-4) unstable; urgency=medium

  * Cherry pick "window-tracker: fix memory leak" (e2dfda9)
    Fixes a memory leak when switching between windows of the same
    application.
  * Cherry pick "[Sound applet] Fix a segmentation fault" (f8347d6)
Fixes a segfault when launching the player from the sound applet if menu
    animations were disabled.
  * Cherry pick "theme-node: Fix leak on stylesheet change" (62c7d5c)
    Fixes a memory leak when previewing the different desktop styles.
  * Cherry pick "Fix hotcorner hover delay timeout removal" (103967a)
Removes 4 useless error lines in .xsession-errors whenever a hot-corner is
    activated.
* Cherry pick "cinnamon-desktop-editor: use the default icon when file is
    nonexistent" (887e8cd)
Fixes a stacktrace when the custom icon for a launcher points to an absolute
    path that has been removed.
* Cherry pick "st-bin.c: Fix y_fill setter (it was setting x_fill to the value of the existing y_fill, before it is set in the same call)." (dec0dd1)
    Corrects a typo for the y_fill property of one-child containers.
* Cherry pick "cs_screensaver.py: Expose setting for floating widgets."
    (a625a95).
Allows the user to easily disable floating widgets from the config screen.

-- Margarita Manterola <ma...@debian.org> Sat, 20 May 2017 14:11:02 +0200

Before that, I'd done one upload to remove a file that was no longer used, and that was causing bogus messages on .xsession errors:

cinnamon (3.2.7-3) unstable; urgency=medium

* Revert the policykit patch now that the new polkit-1-gnome agent gets
    started by the desktop file. Add a versioned dependency on the fixed
    polkit-1-agent.

-- Margarita Manterola <ma...@debian.org> Sat, 22 Apr 2017 16:15:58 +0200

I'm attaching the full debdiff as well as the separate patches for easier reviewing.

unblock cinnamon/3.2.7-4

--
Regards,
Marga
diff -Nru cinnamon-3.2.7/debian/changelog cinnamon-3.2.7/debian/changelog
--- cinnamon-3.2.7/debian/changelog	2017-01-29 16:16:24.000000000 +0100
+++ cinnamon-3.2.7/debian/changelog	2017-05-20 14:11:02.000000000 +0200
@@ -1,3 +1,37 @@
+cinnamon (3.2.7-4) unstable; urgency=medium
+
+  * Cherry pick "window-tracker: fix memory leak" (e2dfda9)
+    Fixes a memory leak when switching between windows of the same
+    application.
+  * Cherry pick "[Sound applet] Fix a segmentation fault" (f8347d6)
+    Fixes a segfault when launching the player from the sound applet if menu
+    animations were disabled.
+  * Cherry pick "theme-node: Fix leak on stylesheet change" (62c7d5c)
+    Fixes a memory leak when previewing the different desktop styles.
+  * Cherry pick "Fix hotcorner hover delay timeout removal" (103967a)
+    Removes 4 useless error lines in .xsession-errors whenever a hot-corner is
+    activated.
+  * Cherry pick "cinnamon-desktop-editor: use the default icon when file is
+    nonexistent" (887e8cd)
+    Fixes a stacktrace when the custom icon for a launcher points to an absolute
+    path that has been removed.
+  * Cherry pick "st-bin.c: Fix y_fill setter (it was setting x_fill to the value
+    of the existing y_fill, before it is set in the same call)." (dec0dd1)
+    Corrects a typo for the y_fill property of one-child containers.
+  * Cherry pick "cs_screensaver.py: Expose setting for floating widgets."
+    (a625a95).
+    Allows the user to easily disable floating widgets from the config screen.
+
+ -- Margarita Manterola <ma...@debian.org>  Sat, 20 May 2017 14:11:02 +0200
+
+cinnamon (3.2.7-3) unstable; urgency=medium
+
+  * Revert the policykit patch now that the new polkit-1-gnome agent gets
+    started by the desktop file. Add a versioned dependency on the fixed
+    polkit-1-agent.
+
+ -- Margarita Manterola <ma...@debian.org>  Sat, 22 Apr 2017 16:15:58 +0200
+
 cinnamon (3.2.7-2) unstable; urgency=medium
 
   * Rename "Adwaita" metacity-1 thumbnail to "Default". Force "Default" theme
diff -Nru cinnamon-3.2.7/debian/cinnamon.install cinnamon-3.2.7/debian/cinnamon.install
--- cinnamon-3.2.7/debian/cinnamon.install	2017-01-29 16:16:24.000000000 +0100
+++ cinnamon-3.2.7/debian/cinnamon.install	2017-05-20 14:11:02.000000000 +0200
@@ -3,7 +3,6 @@
 /usr/lib/*/cinnamon
 /usr/share/applications/cinnamon-killer-daemon.desktop
 /usr/share/applications/cinnamon-menu-editor.desktop
-/usr/share/applications/cinnamon-polkit-gnome-authentication-agent-1.desktop
 /usr/share/applications/cinnamon-settings-*.desktop
 /usr/share/applications/cinnamon-settings.desktop
 /usr/share/applications/cinnamon.desktop
diff -Nru cinnamon-3.2.7/debian/cinnamon.lintian-overrides cinnamon-3.2.7/debian/cinnamon.lintian-overrides
--- cinnamon-3.2.7/debian/cinnamon.lintian-overrides	2017-01-29 16:16:24.000000000 +0100
+++ cinnamon-3.2.7/debian/cinnamon.lintian-overrides	2017-05-20 14:11:02.000000000 +0200
@@ -1,5 +1,3 @@
-# We use the gnome polkit wrapper
-cinnamon: desktop-command-not-in-package usr/share/applications/cinnamon-polkit-gnome-authentication-agent-1.desktop usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
 # The lintian test expects a dependency on the python interpreter used, this
 # script is using "python2" (which is shipped by python-minimal), but there is
 # no "python2" package (not even a virtual one)
diff -Nru cinnamon-3.2.7/debian/control cinnamon-3.2.7/debian/control
--- cinnamon-3.2.7/debian/control	2017-01-29 16:16:24.000000000 +0100
+++ cinnamon-3.2.7/debian/control	2017-05-20 14:11:02.000000000 +0200
@@ -88,7 +88,7 @@
  mesa-utils,
  muffin (>= 3.2),
  nemo (>= 3.0),
- policykit-1-gnome,
+ policykit-1-gnome (>= 0.105-6),
  python,
  python-dbus,
  python-gi-cairo,
diff -Nru cinnamon-3.2.7/debian/patches/add_policykit-1-gnome_to_session cinnamon-3.2.7/debian/patches/add_policykit-1-gnome_to_session
--- cinnamon-3.2.7/debian/patches/add_policykit-1-gnome_to_session	2017-01-29 16:16:24.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/add_policykit-1-gnome_to_session	1970-01-01 01:00:00.000000000 +0100
@@ -1,121 +0,0 @@
-From: Debian Cinnamon Team <pkg-cinnamon-t...@lists.alioth.debian.org>
-Date: Sun, 13 Mar 2016 19:07:24 +0100
-Subject: add_policykit-1-gnome_to_session
-
----
- ...mon-polkit-gnome-authentication-agent-1.desktop | 87 ++++++++++++++++++++++
- .../cinnamon-session/sessions/cinnamon.session     |  2 +-
- .../cinnamon-session/sessions/cinnamon2d.session   |  2 +-
- 3 files changed, 89 insertions(+), 2 deletions(-)
- create mode 100644 files/usr/share/applications/cinnamon-polkit-gnome-authentication-agent-1.desktop
-
---- /dev/null
-+++ b/files/usr/share/applications/cinnamon-polkit-gnome-authentication-agent-1.desktop
-@@ -0,0 +1,87 @@
-+[Desktop Entry]
-+Name=PolicyKit Authentication Agent
-+Name[ar]=مدير الاستيثاق PolicyKit
-+Name[be]=PolicyKit - аґент аўтэнтыфікацыі
-+Name[bn_IN]=PolicyKit অনুমোদনের এজেন্ট
-+Name[ca]=Agent d'autenticació del PolicyKit
-+Name[cs]=Ověřovací agent PolicyKit
-+Name[da]=Godkendelsesprogrammet PolicyKit
-+Name[de]=Legitimationsdienst von PolicyKit
-+Name[el]=Πράκτορας πιστοποίησης PolicyKit
-+Name[en_GB]=PolicyKit Authentication Agent
-+Name[es]=Agente de autenticación de PolicyKit
-+Name[eu]=PolicyKit autentifikatzeko agentea
-+Name[fi]=PolicytKit-tunnistautumisohjelma
-+Name[fr]=Agent d'authentification de PolicyKit
-+Name[gl]=Axente de autenticación PolicyKit
-+Name[gu]=PolicyKit સત્તાધિકરણ એજન્ટ
-+Name[hi]=PolicyKit प्रमाणीकरण प्रतिनिधि
-+Name[hu]=PolicyKit hitelesítési ügynök
-+Name[it]=Agente di autenticazione per PolicyKit
-+Name[ja]=PolicyKit 認証エージェント
-+Name[kn]=PolicyKit ದೃಢೀಕರಣ ಮಧ್ಯವರ್ತಿ
-+Name[lt]=PolicyKit tapatybės nustatymo agentas
-+Name[ml]=പോളിസിക്കിറ്റ് ഓഥന്റിക്കേഷന്‍ ഏജന്റ്
-+Name[mr]=PolicyKit ऑथेंटीकेशन एजेंट
-+Name[or]=PolicyKit ବୈଧିକରଣ ସଦସ୍ୟ
-+Name[pa]=ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ
-+Name[pl]=Agent uwierzytelniania PolicyKit
-+Name[pt]=Agente de Autenticação PolicyKit
-+Name[pt_BR]=Agente de autenticação PolicyKit
-+Name[ro]=Agent de autentificare PolicyKit
-+Name[sk]=Agent PolicyKit na overovanie totožnosti
-+Name[sl]=PolicyKit program overjanja
-+Name[sv]=Autentiseringsagent för PolicyKit
-+Name[ta]=PolicyKit அங்கீகார முகவர்
-+Name[te]=పాలసీకిట్ ధృవీకరణ ప్రతినిధి
-+Name[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit
-+Name[uk]=Агент автентифікації PolicyKit
-+Name[zh_CN]=PolicyKit 认证代理
-+Name[zh_HK]=PolicyKit 驗證代理程式
-+Name[zh_TW]=PolicyKit 驗證代理程式
-+Comment=PolicyKit Authentication Agent
-+Comment[ar]=مدير الاستيثاق PolicyKit
-+Comment[be]=PolicyKit - аґент аўтэнтыфікацыі
-+Comment[bn_IN]=PolicyKit অনুমোদনের এজেন্ট
-+Comment[ca]=Agent d'autenticació del PolicyKit
-+Comment[cs]=Ověřovací agent PolicyKit
-+Comment[da]=Godkendelsesprogrammet PolicyKit
-+Comment[de]=Legitimationsdienst von PolicyKit
-+Comment[el]=Πράκτορας πιστοποίησης PolicyKit
-+Comment[en_GB]=PolicyKit Authentication Agent
-+Comment[es]=Agente de autenticación de PolicyKit
-+Comment[eu]=PolicyKit autentifikatzeko agentea
-+Comment[fi]=PolicytKit-tunnistautumisohjelma
-+Comment[fr]=Agent d'authentification de PolicyKit
-+Comment[gl]=Axente de autenticación PolicyKit
-+Comment[gu]=PolicyKit સત્તાધિકરણ એજન્ટ
-+Comment[hi]=PolicyKit प्रमाणीकरण प्रतिनिधि
-+Comment[hu]=PolicyKit hitelesítési ügynök
-+Comment[it]=Agente di autenticazione per PolicyKit
-+Comment[ja]=PolicyKit 認証エージェント
-+Comment[kn]=PolicyKit ದೃಢೀಕರಣ ಮಧ್ಯವರ್ತಿ
-+Comment[lt]=PolicyKit tapatybės nustatymo agentas
-+Comment[ml]=പോളിസിക്കിറ്റ് ഓഥന്റിക്കേഷന്‍ ഏജന്റ്
-+Comment[mr]=PolicyKit ऑथेंटीकेशन एजेंट
-+Comment[or]=PolicyKit ବୈଧିକରଣ ସଦସ୍ୟ
-+Comment[pa]=ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ
-+Comment[pl]=Agent uwierzytelniania PolicyKit
-+Comment[pt]=Agente de Autenticação PolicyKit
-+Comment[pt_BR]=Agente de autenticação PolicyKit
-+Comment[ro]=Agent de autentificare PolicyKit
-+Comment[sk]=Agent PolicyKit na overovanie totožnosti
-+Comment[sl]=PolicyKit program overjanja
-+Comment[sv]=Autentiseringsagent för PolicyKit
-+Comment[ta]=PolicyKit அங்கீகார முகவர்
-+Comment[te]=పాలసీకిట్ ధృవీకరణ ప్రతినిధి
-+Comment[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit
-+Comment[uk]=Агент автентифікації PolicyKit
-+Comment[zh_CN]=PolicyKit 认证代理
-+Comment[zh_HK]=PolicyKit 驗證代理程式
-+Comment[zh_TW]=PolicyKit 驗證代理程式
-+Exec=/usr/lib/polkit-gnome-authentication-agent-1
-+Terminal=false
-+Type=Application
-+Categories=System;Security;
-+NoDisplay=true
-+OnlyShowIn=X-Cinnamon;
---- a/files/usr/share/cinnamon-session/sessions/cinnamon.session
-+++ b/files/usr/share/cinnamon-session/sessions/cinnamon.session
-@@ -1,6 +1,6 @@
- [Cinnamon Session]
- Name=Cinnamon
--RequiredComponents=cinnamon;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
-+RequiredComponents=cinnamon;cinnamon-polkit-gnome-authentication-agent-1;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
- DesktopName=X-Cinnamon
- 
- 
---- a/files/usr/share/cinnamon-session/sessions/cinnamon2d.session
-+++ b/files/usr/share/cinnamon-session/sessions/cinnamon2d.session
-@@ -1,6 +1,6 @@
- [Cinnamon Session]
- Name=Cinnamon (Software Rendering)
--RequiredComponents=cinnamon2d;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
-+RequiredComponents=cinnamon2d;cinnamon-polkit-gnome-authentication-agent-1;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
- DesktopName=X-Cinnamon
- 
- 
diff -Nru cinnamon-3.2.7/debian/patches/desktop-editor-missing-icon.patch cinnamon-3.2.7/debian/patches/desktop-editor-missing-icon.patch
--- cinnamon-3.2.7/debian/patches/desktop-editor-missing-icon.patch	1970-01-01 01:00:00.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/desktop-editor-missing-icon.patch	2017-05-20 14:11:02.000000000 +0200
@@ -0,0 +1,52 @@
+From 887e8cde6ac71f0cacd0857a3495051008b5d010 Mon Sep 17 00:00:00 2001
+From: itzexor <itze...@gmail.com>
+Date: Mon, 9 Jan 2017 19:42:25 -0800
+Subject: [PATCH] cinnamon-desktop-editor: use the default icon when file is
+ nonexistent
+
+If the custom icon file no longer exists, use the default panel launchers
+icon instead. Without this an uncaught Glib.Error is generated which causes
+the panel launchers edit action to do nothing.
+---
+ .../cinnamon-desktop-editor/cinnamon-desktop-editor.py    | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+Index: cinnamon/files/usr/share/cinnamon/cinnamon-desktop-editor/cinnamon-desktop-editor.py
+===================================================================
+--- cinnamon.orig/files/usr/share/cinnamon/cinnamon-desktop-editor/cinnamon-desktop-editor.py	2017-05-19 17:02:37.471946119 +0200
++++ cinnamon/files/usr/share/cinnamon/cinnamon-desktop-editor/cinnamon-desktop-editor.py	2017-05-19 17:02:37.467946022 +0200
+@@ -28,6 +28,7 @@
+ 
+ EXTENSIONS = (".png", ".xpm", ".svg")
+ 
++DEFAULT_ICON_NAME = "cinnamon-panel-launcher"
+ 
+ def escape_space(string):
+     return string.replace(" ", "\ ")
+@@ -76,10 +77,14 @@
+ 
+ def set_icon_string(image, icon):
+     if GLib.path_is_absolute(icon):
+-        image._file = icon
+-        pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icon, 64, 64)
+-        if pixbuf is not None:
+-            image.set_from_pixbuf(pixbuf)
++        if os.path.isfile(icon):
++            image._file = icon
++            pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icon, 64, 64)
++            if pixbuf is not None:
++                image.set_from_pixbuf(pixbuf)
++        else:
++            image._icon_name = DEFAULT_ICON_NAME
++            image.set_from_icon_name(DEFAULT_ICON_NAME, Gtk.IconSize.BUTTON)
+     else:
+         image._icon_name = strip_extensions(icon)
+         image.set_from_icon_name(strip_extensions(icon), Gtk.IconSize.BUTTON)
+@@ -527,6 +532,6 @@
+         Gtk.main_quit()
+ 
+ if __name__ == "__main__":
+-    Gtk.Window.set_default_icon_name('cinnamon-panel-launcher')
++    Gtk.Window.set_default_icon_name(DEFAULT_ICON_NAME)
+     Main()
+     Gtk.main()
diff -Nru cinnamon-3.2.7/debian/patches/disable-floats-setting.patch cinnamon-3.2.7/debian/patches/disable-floats-setting.patch
--- cinnamon-3.2.7/debian/patches/disable-floats-setting.patch	1970-01-01 01:00:00.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/disable-floats-setting.patch	2017-05-20 14:11:02.000000000 +0200
@@ -0,0 +1,24 @@
+From a625a9537806cab3c26a878a34c9e4aaa7ce3dbd Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebs...@gmail.com>
+Date: Wed, 11 Jan 2017 21:55:25 -0500
+Subject: [PATCH] cs_screensaver.py: Expose setting for floating widgets.
+
+---
+ files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+Index: cinnamon/files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py
+===================================================================
+--- cinnamon.orig/files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py	2017-05-19 17:53:03.833586490 +0200
++++ cinnamon/files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py	2017-05-19 17:53:03.829586389 +0200
+@@ -164,6 +164,10 @@
+         widget.set_tooltip_text(_("Show the number of missed notifications and the battery status"))
+         settings.add_row(widget)
+ 
++        widget = GSettingsSwitch(_("Allow floating clock and album art widgets"), schema, "floating-widgets")
++        widget.set_tooltip_text(_("When the default screensaver is active, allow the clock and album art widgets to float around randomly"))
++        settings.add_row(widget)
++
+ class ScreensaverBox(Gtk.Box):
+     def __init__(self, title):
+         Gtk.Box.__init__(self)
diff -Nru cinnamon-3.2.7/debian/patches/Drop-nm-applet-from-the-session-files.patch cinnamon-3.2.7/debian/patches/Drop-nm-applet-from-the-session-files.patch
--- cinnamon-3.2.7/debian/patches/Drop-nm-applet-from-the-session-files.patch	2017-01-29 16:16:24.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/Drop-nm-applet-from-the-session-files.patch	2017-05-20 14:11:02.000000000 +0200
@@ -18,8 +18,8 @@
 @@ -1,6 +1,6 @@
  [Cinnamon Session]
  Name=Cinnamon
--RequiredComponents=cinnamon;cinnamon-polkit-gnome-authentication-agent-1;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
-+RequiredComponents=cinnamon;cinnamon-polkit-gnome-authentication-agent-1;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;cinnamon-killer-daemon;
+-RequiredComponents=cinnamon;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
++RequiredComponents=cinnamon;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;cinnamon-killer-daemon;
  DesktopName=X-Cinnamon
  
  
@@ -30,8 +30,8 @@
 @@ -1,6 +1,6 @@
  [Cinnamon Session]
  Name=Cinnamon (Software Rendering)
--RequiredComponents=cinnamon2d;cinnamon-polkit-gnome-authentication-agent-1;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
-+RequiredComponents=cinnamon2d;cinnamon-polkit-gnome-authentication-agent-1;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;cinnamon-killer-daemon;
+-RequiredComponents=cinnamon2d;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;cinnamon-killer-daemon;
++RequiredComponents=cinnamon2d;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;cinnamon-killer-daemon;
  DesktopName=X-Cinnamon
  
  
diff -Nru cinnamon-3.2.7/debian/patches/fill-y-typo.patch cinnamon-3.2.7/debian/patches/fill-y-typo.patch
--- cinnamon-3.2.7/debian/patches/fill-y-typo.patch	1970-01-01 01:00:00.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/fill-y-typo.patch	2017-05-20 14:11:02.000000000 +0200
@@ -0,0 +1,23 @@
+From dec0dd1be9db36131d7c7ee9c9061f3a7ef3b8c4 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebs...@gmail.com>
+Date: Sat, 6 May 2017 09:10:47 -0400
+Subject: [PATCH] st-bin.c: Fix y_fill setter (it was setting x_fill to the
+ value of the existing y_fill, before it is set in the same call).
+
+---
+ src/st/st-bin.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: cinnamon/src/st/st-bin.c
+===================================================================
+--- cinnamon.orig/src/st/st-bin.c	2017-05-19 17:46:46.015080553 +0200
++++ cinnamon/src/st/st-bin.c	2017-05-19 17:46:46.011080426 +0200
+@@ -252,7 +252,7 @@
+ 
+     case PROP_Y_FILL:
+       st_bin_set_fill (bin,
+-                       bin->priv->y_fill,
++                       bin->priv->x_fill,
+                        g_value_get_boolean (value));
+       break;
+ 
diff -Nru cinnamon-3.2.7/debian/patches/fix-hotcorners-error.patch cinnamon-3.2.7/debian/patches/fix-hotcorners-error.patch
--- cinnamon-3.2.7/debian/patches/fix-hotcorners-error.patch	1970-01-01 01:00:00.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/fix-hotcorners-error.patch	2017-05-20 14:11:02.000000000 +0200
@@ -0,0 +1,25 @@
+From 103967a7e0ac4ed6afc39b1b299af93e9d5ab8ff Mon Sep 17 00:00:00 2001
+From: Lars Mueller <cobi...@yahoo.de>
+Date: Wed, 4 Jan 2017 13:23:27 +0100
+Subject: [PATCH] Fix hotcorner hover delay timeout removal This fixes a
+ "Invalid or null source id used when attempting to run
+ Mainloop.source_remove()" when leaving a hotcorner. The timeout is already
+ destroyed by returning false in the callback, but we still knew about the
+ timeout id and tried to remove the non-existing timeout.
+
+---
+ js/ui/hotCorner.js | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: cinnamon/js/ui/hotCorner.js
+===================================================================
+--- cinnamon.orig/js/ui/hotCorner.js	2017-05-19 16:12:52.317560458 +0200
++++ cinnamon/js/ui/hotCorner.js	2017-05-19 16:12:52.309560576 +0200
+@@ -323,6 +323,7 @@
+                 }
+             }
+         }));
++        this.hover_delay_id = 0;
+         return false;
+     },
+ 
diff -Nru cinnamon-3.2.7/debian/patches/series cinnamon-3.2.7/debian/patches/series
--- cinnamon-3.2.7/debian/patches/series	2017-01-29 16:16:24.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/series	2017-05-20 14:11:02.000000000 +0200
@@ -1,9 +1,15 @@
 network-user-connections.patch
 remove-embbeded-jquery.patch
-add_policykit-1-gnome_to_session
 make_nm_optional
 background.patch
 Drop-nm-applet-from-the-session-files.patch
 add-blueman-to-settings
 new-iso-flags-folder.patch
 always-add-default-theme.patch
+window-tracker-memory-leak.patch
+sound-applet-segfault.patch
+theme-changer-memory-leak.patch
+fix-hotcorners-error.patch
+desktop-editor-missing-icon.patch
+fill-y-typo.patch
+disable-floats-setting.patch
diff -Nru cinnamon-3.2.7/debian/patches/sound-applet-segfault.patch cinnamon-3.2.7/debian/patches/sound-applet-segfault.patch
--- cinnamon-3.2.7/debian/patches/sound-applet-segfault.patch	1970-01-01 01:00:00.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/sound-applet-segfault.patch	2017-05-20 14:11:02.000000000 +0200
@@ -0,0 +1,31 @@
+From f8347d6b02f87e0f99980deea42eab305bce271a Mon Sep 17 00:00:00 2001
+From: Lars Mueller <cobi...@yahoo.de>
+Date: Sat, 28 Jan 2017 22:45:15 +0100
+Subject: [PATCH] [Sound applet] Fix a segmentation This fixes a segmentation
+ fault that happened when menu animations were disabled. Fixes #5977
+
+---
+ files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+Index: cinnamon/files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js
+===================================================================
+--- cinnamon.orig/files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js	2017-05-19 12:48:00.522159209 +0200
++++ cinnamon/files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js	2017-05-19 12:48:00.518159097 +0200
+@@ -814,14 +814,12 @@
+         this.addActor(this.label);
+         this._icon = app.create_icon_texture(ICON_SIZE);
+         this.addActor(this._icon, { expand: false });
++        this.connect("activate", Lang.bind(this, this._onActivate));
+     },
+ 
+-    activate: function (event) {
+-        this._menu.actor.hide();
++    _onActivate: function(actor, event, keepMenu) {
+         this._app.activate_full(-1, event.get_time());
+-        return true;
+     }
+-
+ };
+ 
+ function MyApplet(metadata, orientation, panel_height, instanceId) {
diff -Nru cinnamon-3.2.7/debian/patches/theme-changer-memory-leak.patch cinnamon-3.2.7/debian/patches/theme-changer-memory-leak.patch
--- cinnamon-3.2.7/debian/patches/theme-changer-memory-leak.patch	1970-01-01 01:00:00.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/theme-changer-memory-leak.patch	2017-05-20 14:11:02.000000000 +0200
@@ -0,0 +1,64 @@
+From 62c7d5c109540d769910f39873ffa93ad2cb00d9 Mon Sep 17 00:00:00 2001
+From: brownsr <simonrossbr...@gmail.com>
+Date: Mon, 2 Jan 2017 22:09:23 +0000
+Subject: [PATCH] theme-node: Fix leak on stylesheet change. From upstream
+ https://github.com/GNOME/gnome-shell/commit/72bfa9125945919e9d69505d3e739480855f331e
+
+---
+ src/st/st-theme-node.c | 32 ++++++++++++++++++++------------
+ 1 file changed, 20 insertions(+), 12 deletions(-)
+
+Index: cinnamon/src/st/st-theme-node.c
+===================================================================
+--- cinnamon.orig/src/st/st-theme-node.c	2017-05-19 12:56:29.496236687 +0200
++++ cinnamon/src/st/st-theme-node.c	2017-05-19 12:56:29.492236577 +0200
+@@ -61,10 +61,29 @@
+ }
+ 
+ static void
++maybe_free_properties (StThemeNode *node)
++{
++  if (node->properties)
++    {
++      g_free (node->properties);
++      node->properties = NULL;
++      node->n_properties = 0;
++    }
++
++  if (node->inline_properties)
++    {
++      /* This destroys the list, not just the head of the list */
++      cr_declaration_destroy (node->inline_properties);
++      node->inline_properties = NULL;
++    }
++}
++
++static void
+ on_custom_stylesheets_changed (StTheme *theme,
+                                gpointer data)
+ {
+   StThemeNode *node = data;
++  maybe_free_properties (node);
+   node->properties_computed = FALSE;
+ }
+ 
+@@ -117,18 +136,7 @@
+   g_strfreev (node->pseudo_classes);
+   g_free (node->inline_style);
+ 
+-  if (node->properties)
+-    {
+-      g_free (node->properties);
+-      node->properties = NULL;
+-      node->n_properties = 0;
+-    }
+-
+-  if (node->inline_properties)
+-    {
+-      /* This destroys the list, not just the head of the list */
+-      cr_declaration_destroy (node->inline_properties);
+-    }
++  maybe_free_properties (node);
+ 
+   if (node->font_desc)
+     {
diff -Nru cinnamon-3.2.7/debian/patches/window-tracker-memory-leak.patch cinnamon-3.2.7/debian/patches/window-tracker-memory-leak.patch
--- cinnamon-3.2.7/debian/patches/window-tracker-memory-leak.patch	1970-01-01 01:00:00.000000000 +0100
+++ cinnamon-3.2.7/debian/patches/window-tracker-memory-leak.patch	2017-05-20 14:11:02.000000000 +0200
@@ -0,0 +1,22 @@
+From e2dfda9c51cf43ae36bbd6b8c266fe49ed4158df Mon Sep 17 00:00:00 2001
+From: brownsr <simonrossbr...@gmail.com>
+Date: Thu, 5 Jan 2017 06:15:28 +0000
+Subject: [PATCH] window-tracker: fix memory leak from upstream
+ https://github.com/GNOME/gnome-shell/commit/ac22172a6ec37a158ca4cecf8c18f8fb29c1aa97
+
+---
+ src/cinnamon-window-tracker.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: cinnamon/src/cinnamon-window-tracker.c
+===================================================================
+--- cinnamon.orig/src/cinnamon-window-tracker.c	2017-05-19 12:43:45.367099412 +0200
++++ cinnamon/src/cinnamon-window-tracker.c	2017-05-19 12:43:45.367099412 +0200
+@@ -435,6 +435,7 @@
+   new_focus_app = new_focus_win ? cinnamon_window_tracker_get_window_app (self, new_focus_win) : NULL;
+ 
+   set_focus_app (self, new_focus_app);
++  g_clear_object (&new_focus_app);
+ }
+ 
+ static void
From e2dfda9c51cf43ae36bbd6b8c266fe49ed4158df Mon Sep 17 00:00:00 2001
From: brownsr <simonrossbr...@gmail.com>
Date: Thu, 5 Jan 2017 06:15:28 +0000
Subject: [PATCH] window-tracker: fix memory leak from upstream
 https://github.com/GNOME/gnome-shell/commit/ac22172a6ec37a158ca4cecf8c18f8fb29c1aa97

---
 src/cinnamon-window-tracker.c | 1 +
 1 file changed, 1 insertion(+)

Index: cinnamon/src/cinnamon-window-tracker.c
===================================================================
--- cinnamon.orig/src/cinnamon-window-tracker.c	2017-05-19 12:43:45.367099412 +0200
+++ cinnamon/src/cinnamon-window-tracker.c	2017-05-19 12:43:45.367099412 +0200
@@ -435,6 +435,7 @@
   new_focus_app = new_focus_win ? cinnamon_window_tracker_get_window_app (self, new_focus_win) : NULL;
 
   set_focus_app (self, new_focus_app);
+  g_clear_object (&new_focus_app);
 }
 
 static void
From f8347d6b02f87e0f99980deea42eab305bce271a Mon Sep 17 00:00:00 2001
From: Lars Mueller <cobi...@yahoo.de>
Date: Sat, 28 Jan 2017 22:45:15 +0100
Subject: [PATCH] [Sound applet] Fix a segmentation This fixes a segmentation
 fault that happened when menu animations were disabled. Fixes #5977

---
 files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Index: cinnamon/files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js
===================================================================
--- cinnamon.orig/files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js	2017-05-19 12:48:00.522159209 +0200
+++ cinnamon/files/usr/share/cinnamon/applets/so...@cinnamon.org/applet.js	2017-05-19 12:48:00.518159097 +0200
@@ -814,14 +814,12 @@
         this.addActor(this.label);
         this._icon = app.create_icon_texture(ICON_SIZE);
         this.addActor(this._icon, { expand: false });
+        this.connect("activate", Lang.bind(this, this._onActivate));
     },
 
-    activate: function (event) {
-        this._menu.actor.hide();
+    _onActivate: function(actor, event, keepMenu) {
         this._app.activate_full(-1, event.get_time());
-        return true;
     }
-
 };
 
 function MyApplet(metadata, orientation, panel_height, instanceId) {
From 62c7d5c109540d769910f39873ffa93ad2cb00d9 Mon Sep 17 00:00:00 2001
From: brownsr <simonrossbr...@gmail.com>
Date: Mon, 2 Jan 2017 22:09:23 +0000
Subject: [PATCH] theme-node: Fix leak on stylesheet change. From upstream
 https://github.com/GNOME/gnome-shell/commit/72bfa9125945919e9d69505d3e739480855f331e

---
 src/st/st-theme-node.c | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

Index: cinnamon/src/st/st-theme-node.c
===================================================================
--- cinnamon.orig/src/st/st-theme-node.c	2017-05-19 12:56:29.496236687 +0200
+++ cinnamon/src/st/st-theme-node.c	2017-05-19 12:56:29.492236577 +0200
@@ -61,10 +61,29 @@
 }
 
 static void
+maybe_free_properties (StThemeNode *node)
+{
+  if (node->properties)
+    {
+      g_free (node->properties);
+      node->properties = NULL;
+      node->n_properties = 0;
+    }
+
+  if (node->inline_properties)
+    {
+      /* This destroys the list, not just the head of the list */
+      cr_declaration_destroy (node->inline_properties);
+      node->inline_properties = NULL;
+    }
+}
+
+static void
 on_custom_stylesheets_changed (StTheme *theme,
                                gpointer data)
 {
   StThemeNode *node = data;
+  maybe_free_properties (node);
   node->properties_computed = FALSE;
 }
 
@@ -117,18 +136,7 @@
   g_strfreev (node->pseudo_classes);
   g_free (node->inline_style);
 
-  if (node->properties)
-    {
-      g_free (node->properties);
-      node->properties = NULL;
-      node->n_properties = 0;
-    }
-
-  if (node->inline_properties)
-    {
-      /* This destroys the list, not just the head of the list */
-      cr_declaration_destroy (node->inline_properties);
-    }
+  maybe_free_properties (node);
 
   if (node->font_desc)
     {
From 103967a7e0ac4ed6afc39b1b299af93e9d5ab8ff Mon Sep 17 00:00:00 2001
From: Lars Mueller <cobi...@yahoo.de>
Date: Wed, 4 Jan 2017 13:23:27 +0100
Subject: [PATCH] Fix hotcorner hover delay timeout removal This fixes a
 "Invalid or null source id used when attempting to run
 Mainloop.source_remove()" when leaving a hotcorner. The timeout is already
 destroyed by returning false in the callback, but we still knew about the
 timeout id and tried to remove the non-existing timeout.

---
 js/ui/hotCorner.js | 1 +
 1 file changed, 1 insertion(+)

Index: cinnamon/js/ui/hotCorner.js
===================================================================
--- cinnamon.orig/js/ui/hotCorner.js	2017-05-19 16:12:52.317560458 +0200
+++ cinnamon/js/ui/hotCorner.js	2017-05-19 16:12:52.309560576 +0200
@@ -323,6 +323,7 @@
                 }
             }
         }));
+        this.hover_delay_id = 0;
         return false;
     },
 
From 887e8cde6ac71f0cacd0857a3495051008b5d010 Mon Sep 17 00:00:00 2001
From: itzexor <itze...@gmail.com>
Date: Mon, 9 Jan 2017 19:42:25 -0800
Subject: [PATCH] cinnamon-desktop-editor: use the default icon when file is
 nonexistent

If the custom icon file no longer exists, use the default panel launchers
icon instead. Without this an uncaught Glib.Error is generated which causes
the panel launchers edit action to do nothing.
---
 .../cinnamon-desktop-editor/cinnamon-desktop-editor.py    | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

Index: cinnamon/files/usr/share/cinnamon/cinnamon-desktop-editor/cinnamon-desktop-editor.py
===================================================================
--- cinnamon.orig/files/usr/share/cinnamon/cinnamon-desktop-editor/cinnamon-desktop-editor.py	2017-05-19 17:02:37.471946119 +0200
+++ cinnamon/files/usr/share/cinnamon/cinnamon-desktop-editor/cinnamon-desktop-editor.py	2017-05-19 17:02:37.467946022 +0200
@@ -28,6 +28,7 @@
 
 EXTENSIONS = (".png", ".xpm", ".svg")
 
+DEFAULT_ICON_NAME = "cinnamon-panel-launcher"
 
 def escape_space(string):
     return string.replace(" ", "\ ")
@@ -76,10 +77,14 @@
 
 def set_icon_string(image, icon):
     if GLib.path_is_absolute(icon):
-        image._file = icon
-        pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icon, 64, 64)
-        if pixbuf is not None:
-            image.set_from_pixbuf(pixbuf)
+        if os.path.isfile(icon):
+            image._file = icon
+            pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icon, 64, 64)
+            if pixbuf is not None:
+                image.set_from_pixbuf(pixbuf)
+        else:
+            image._icon_name = DEFAULT_ICON_NAME
+            image.set_from_icon_name(DEFAULT_ICON_NAME, Gtk.IconSize.BUTTON)
     else:
         image._icon_name = strip_extensions(icon)
         image.set_from_icon_name(strip_extensions(icon), Gtk.IconSize.BUTTON)
@@ -527,6 +532,6 @@
         Gtk.main_quit()
 
 if __name__ == "__main__":
-    Gtk.Window.set_default_icon_name('cinnamon-panel-launcher')
+    Gtk.Window.set_default_icon_name(DEFAULT_ICON_NAME)
     Main()
     Gtk.main()
From dec0dd1be9db36131d7c7ee9c9061f3a7ef3b8c4 Mon Sep 17 00:00:00 2001
From: Michael Webster <miketwebs...@gmail.com>
Date: Sat, 6 May 2017 09:10:47 -0400
Subject: [PATCH] st-bin.c: Fix y_fill setter (it was setting x_fill to the
 value of the existing y_fill, before it is set in the same call).

---
 src/st/st-bin.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: cinnamon/src/st/st-bin.c
===================================================================
--- cinnamon.orig/src/st/st-bin.c	2017-05-19 17:46:46.015080553 +0200
+++ cinnamon/src/st/st-bin.c	2017-05-19 17:46:46.011080426 +0200
@@ -252,7 +252,7 @@
 
     case PROP_Y_FILL:
       st_bin_set_fill (bin,
-                       bin->priv->y_fill,
+                       bin->priv->x_fill,
                        g_value_get_boolean (value));
       break;
 
From a625a9537806cab3c26a878a34c9e4aaa7ce3dbd Mon Sep 17 00:00:00 2001
From: Michael Webster <miketwebs...@gmail.com>
Date: Wed, 11 Jan 2017 21:55:25 -0500
Subject: [PATCH] cs_screensaver.py: Expose setting for floating widgets.

---
 files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py | 4 ++++
 1 file changed, 4 insertions(+)

Index: cinnamon/files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py
===================================================================
--- cinnamon.orig/files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py	2017-05-19 17:53:03.833586490 +0200
+++ cinnamon/files/usr/share/cinnamon/cinnamon-settings/modules/cs_screensaver.py	2017-05-19 17:53:03.829586389 +0200
@@ -164,6 +164,10 @@
         widget.set_tooltip_text(_("Show the number of missed notifications and the battery status"))
         settings.add_row(widget)
 
+        widget = GSettingsSwitch(_("Allow floating clock and album art widgets"), schema, "floating-widgets")
+        widget.set_tooltip_text(_("When the default screensaver is active, allow the clock and album art widgets to float around randomly"))
+        settings.add_row(widget)
+
 class ScreensaverBox(Gtk.Box):
     def __init__(self, title):
         Gtk.Box.__init__(self)

Reply via email to