r51963 - in /desktop/unstable/gnome-shell/debian: ./ jessie-upgrade/ patches/

smcv at users.alioth.debian.org smcv at users.alioth.debian.org
Sun Jan 29 02:00:14 UTC 2017


Author: smcv
Date: Sun Jan 29 02:00:14 2017
New Revision: 51963

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=51963
Log:
Work around upgrades not being done offline

- Ship a copy of the process-working spinner animation from Shell
  3.14.x, and install it where Shell 3.14.x would expect to find it.
  This avoids a code path where the lock screen would fail to unlock
  because the animation code didn't cope with inability to load the
  animation. (Closes: #853018)
- d/p/animations-Guard-against-empty-animations.patch,
  d/p/texture-cache-Warn-when-loading-sliced-image-fails.patch:
  Add two patches from upstream 3.22 branch to harden the same part
  of the lock screen code against hitting a similar issue, and
  issue warnings to the system log if it happens.

Added:
    desktop/unstable/gnome-shell/debian/jessie-upgrade/
    desktop/unstable/gnome-shell/debian/jessie-upgrade/process-working.svg
    desktop/unstable/gnome-shell/debian/patches/animations-Guard-against-empty-animations.patch
    desktop/unstable/gnome-shell/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch
Modified:
    desktop/unstable/gnome-shell/debian/changelog
    desktop/unstable/gnome-shell/debian/gnome-shell-common.install

Modified: desktop/unstable/gnome-shell/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/changelog?rev=51963&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/changelog	[utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/changelog	[utf-8] Sun Jan 29 02:00:14 2017
@@ -1,3 +1,19 @@
+gnome-shell (3.22.2-4) UNRELEASED; urgency=medium
+
+  * Work around upgrades not being done offline:
+    - Ship a copy of the process-working spinner animation from Shell
+      3.14.x, and install it where Shell 3.14.x would expect to find it.
+      This avoids a code path where the lock screen would fail to unlock
+      because the animation code didn't cope with inability to load the
+      animation. (Closes: #853018)
+    - d/p/animations-Guard-against-empty-animations.patch,
+      d/p/texture-cache-Warn-when-loading-sliced-image-fails.patch:
+      Add two patches from upstream 3.22 branch to harden the same part
+      of the lock screen code against hitting a similar issue, and
+      issue warnings to the system log if it happens.
+
+ -- Simon McVittie <smcv at debian.org>  Sun, 29 Jan 2017 00:34:11 +0000
+
 gnome-shell (3.22.2-3) unstable; urgency=medium
 
   * Team upload.

Modified: desktop/unstable/gnome-shell/debian/gnome-shell-common.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/gnome-shell-common.install?rev=51963&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/gnome-shell-common.install	[utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/gnome-shell-common.install	[utf-8] Sun Jan 29 02:00:14 2017
@@ -5,3 +5,6 @@
 usr/share/gnome-shell
 usr/share/gtk-doc
 usr/share/locale
+
+# This is a hack for #853018. Remove this after Debian stretch is released.
+debian/jessie-upgrade/process-working.svg /usr/share/gnome-shell/theme

Added: desktop/unstable/gnome-shell/debian/jessie-upgrade/process-working.svg
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/jessie-upgrade/process-working.svg?rev=51963&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/jessie-upgrade/process-working.svg	(added)
+++ desktop/unstable/gnome-shell/debian/jessie-upgrade/process-working.svg	[utf-8] Sun Jan 29 02:00:14 2017
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg5369"
+   version="1.1"
+   inkscape:version="0.48+devel r10053 custom"
+   width="96"
+   height="48"
+   sodipodi:docname="process-working.svg"
+   style="display:inline">
+  <metadata
+     id="metadata5375">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5373" />
+  <sodipodi:namedview
+     pagecolor="#808080"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1975"
+     inkscape:window-height="1098"
+     id="namedview5371"
+     showgrid="true"
+     borderlayer="true"
+     inkscape:showpageshadow="false"
+     inkscape:zoom="16"
+     inkscape:cx="53.997662"
+     inkscape:cy="22.367695"
+     inkscape:window-x="1600"
+     inkscape:window-y="33"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="layer2">
+    <inkscape:grid
+       type="xygrid"
+       id="grid11933"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <g
+     inkscape:groupmode="layer"
+     id="layer1"
+     inkscape:label="tiles"
+     style="display:none">
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12451"
+       width="24"
+       height="24"
+       x="0"
+       y="0" />
+    <rect
+       y="24"
+       x="0"
+       height="24"
+       width="24"
+       id="rect12453"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       y="0"
+       x="24"
+       height="24"
+       width="24"
+       id="rect12455"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12457"
+       width="24"
+       height="24"
+       x="24"
+       y="24" />
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12459"
+       width="24"
+       height="24"
+       x="48"
+       y="0" />
+    <rect
+       y="24"
+       x="48"
+       height="24"
+       width="24"
+       id="rect12461"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       y="0"
+       x="72"
+       height="24"
+       width="24"
+       id="rect12463"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12465"
+       width="24"
+       height="24"
+       x="72"
+       y="24" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="spinner">
+    <g
+       transform="matrix(0.28240106,0,0,0.28240106,146.92015,-382.52444)"
+       id="g10450-5"
+       style="display:inline">
+      <path
+         inkscape:connector-curvature="0"
+         style="opacity:0.6;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -477.76072,1373.3569 0,9.4717"
+         id="path18768"
+         sodipodi:nodetypes="cc"
+         inkscape:transform-center-y="-4.6808838" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-y="-3.3099227"
+         sodipodi:nodetypes="cc"
+         id="path18770"
+         d="m -461.0171,1380.2922 -7.23427,7.3824"
+         style="opacity:0.7;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="-3.3098966" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="-4.6808962"
+         style="opacity:0.8;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -454.08163,1397.0359 -9.47165,0"
+         id="path18772"
+         sodipodi:nodetypes="cc"
+         inkscape:transform-center-y="-2.6596956e-05" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         id="path18774"
+         d="m -461.01709,1413.7796 -6.93831,-7.0864"
+         style="opacity:0.9;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="-3.3098966"
+         inkscape:transform-center-y="3.3098652" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-y="4.6808757"
+         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -477.76074,1420.715 9e-5,-9.4716"
+         id="path18776"
+         sodipodi:nodetypes="cc" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         id="path18778"
+         d="m -494.50442,1413.7796 6.79048,-6.9384"
+         style="opacity:0.3;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-y="3.3098769"
+         inkscape:transform-center-x="3.3098883" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="4.6808941"
+         style="opacity:0.4;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -501.43987,1397.0359 9.47174,0"
+         id="path18780"
+         sodipodi:nodetypes="cc"
+         inkscape:transform-center-y="-2.6596956e-05" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         id="path18782"
+         d="m -494.5044,1380.2922 6.64243,6.9384"
+         style="opacity:0.5;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="3.3098902"
+         inkscape:transform-center-y="-3.3099302" />
+    </g>
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#g10450-5"
+       id="use4981"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,36,-4.9705636)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4981"
+       id="use4983"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,43.032478,-21.909695)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4983"
+       id="use4985"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,50.081986,-38.904617)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4985"
+       id="use4987"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,-38.919996,-31.872139)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4987"
+       id="use4989"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,52.986628,2.0890543)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4989"
+       id="use4991"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,60.013026,-14.912936)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4991"
+       id="use4993"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,67.022396,-31.859127)"
+       width="400"
+       height="400" />
+  </g>
+</svg>

Added: desktop/unstable/gnome-shell/debian/patches/animations-Guard-against-empty-animations.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/animations-Guard-against-empty-animations.patch?rev=51963&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/animations-Guard-against-empty-animations.patch	(added)
+++ desktop/unstable/gnome-shell/debian/patches/animations-Guard-against-empty-animations.patch	[utf-8] Sun Jan 29 02:00:14 2017
@@ -0,0 +1,33 @@
+From 92630f67c61816be21b8e1fa618c11915dbbee51 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner at gnome.org>
+Date: Mon, 21 Nov 2016 18:09:42 +0100
+Subject: [PATCH 1/2] animations: Guard against empty animations
+
+Our animation code not only relies on the animation being loaded
+(which we handle), but also on having at least one frame - otherwise
+the computation of the next frame index will turn up NaN through
+division by zero. Guard against this case by treating empty animations
+as not loaded.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=774805
+Origin: upstream, 3.22.3, commit:92630f67c61816be21b8e1fa618c11915dbbee51
+---
+ js/ui/animation.js | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/ui/animation.js b/js/ui/animation.js
+index 23ec934d8..1ae9ba0ea 100644
+--- a/js/ui/animation.js
++++ b/js/ui/animation.js
+@@ -67,7 +67,7 @@ const Animation = new Lang.Class({
+     },
+ 
+     _animationsLoaded: function() {
+-        this._isLoaded = true;
++        this._isLoaded = this._animations.get_n_children() > 0;
+ 
+         if (this._isPlaying)
+             this.play();
+-- 
+2.11.0
+

Added: desktop/unstable/gnome-shell/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch?rev=51963&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch	(added)
+++ desktop/unstable/gnome-shell/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch	[utf-8] Sun Jan 29 02:00:14 2017
@@ -0,0 +1,61 @@
+From 516568a226ca908c6170f8b568d36ab5ec63d1e1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner at gnome.org>
+Date: Tue, 22 Nov 2016 18:12:35 +0100
+Subject: [PATCH 2/2] texture-cache: Warn when loading sliced image fails
+
+Sliced images are loaded into a group actor with one child actor
+per slice. In case loading the image fails, we currently quietly
+return the empty group actor, which makes diagnosing problems
+unnecessarily hard - just be a bit more verbose on failure.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=774805
+Origin: upstream, 3.22.3, commit:516568a226ca908c6170f8b568d36ab5ec63d1e1
+---
+ src/st/st-texture-cache.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c
+index 1c718acb9..281241ade 100644
+--- a/src/st/st-texture-cache.c
++++ b/src/st/st-texture-cache.c
+@@ -1088,6 +1088,7 @@ load_sliced_image (GTask        *result,
+   GdkPixbuf *pix;
+   gint width, height, y, x;
+   GdkPixbufLoader *loader;
++  GError *error = NULL;
+   gchar *buffer = NULL;
+   gsize length;
+ 
+@@ -1099,11 +1100,17 @@ load_sliced_image (GTask        *result,
+   loader = gdk_pixbuf_loader_new ();
+   g_signal_connect (loader, "size-prepared", G_CALLBACK (on_loader_size_prepared), data);
+ 
+-  if (!g_file_load_contents (data->gfile, NULL, &buffer, &length, NULL, NULL))
+-    goto out;
++  if (!g_file_load_contents (data->gfile, NULL, &buffer, &length, NULL, &error))
++    {
++      g_warning ("Failed to open sliced image: %s", error->message);
++      goto out;
++    }
+ 
+-  if (!gdk_pixbuf_loader_write (loader, (const guchar *) buffer, length, NULL))
+-    goto out;
++  if (!gdk_pixbuf_loader_write (loader, (const guchar *) buffer, length, &error))
++    {
++      g_warning ("Failed to load image: %s", error->message);
++      goto out;
++    }
+ 
+   if (!gdk_pixbuf_loader_close (loader, NULL))
+     goto out;
+@@ -1128,6 +1135,7 @@ load_sliced_image (GTask        *result,
+    * though the subpixbufs will hold a reference. */
+   g_object_unref (loader);
+   g_free (buffer);
++  g_clear_pointer (&error, g_error_free);
+   g_task_return_pointer (result, res, free_glist_unref_gobjects);
+ }
+ 
+-- 
+2.11.0
+




More information about the pkg-gnome-commits mailing list