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