Package: spice-client-gtk
Version: 0.21-0nocelt2
Followup-For: Bug #727707

The attached patch taken from upstream fixes this problem.

The symptoms described in #728430 are similar to what I see without this
patch (virt-viewer and spicy crashing just after connecting). But from
the backtrace alone I'm not sure if these bugs are really duplicates.

Gaudenz

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (800, 'testing'), (700, 'unstable'), (50, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.10-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages spice-client-gtk depends on:
ii  libatk1.0-0                 2.10.0-2
ii  libc6                       2.17-93
ii  libcairo2                   1.12.16-2
ii  libfontconfig1              2.11.0-1
ii  libfreetype6                2.4.9-1.1
ii  libgdk-pixbuf2.0-0          2.28.2-1
ii  libglib2.0-0                2.36.4-1
ii  libgtk2.0-0                 2.24.21-1
ii  libjpeg8                    8d-1
ii  libpango-1.0-0              1.32.5-5+b1
ii  libpangocairo-1.0-0         1.32.5-5+b1
ii  libpangoft2-1.0-0           1.32.5-5+b1
ii  libpixman-1-0               0.30.2-1
ii  libpulse-mainloop-glib0     4.0-6+b1
ii  libpulse0                   4.0-6+b1
ii  libsasl2-2                  2.1.25.dfsg1-17
ii  libspice-client-glib-2.0-8  0.21-0nocelt2
ii  libspice-client-gtk-2.0-4   0.21-0nocelt2
ii  libssl1.0.0                 1.0.1e-4
ii  libusb-1.0-0                2:1.0.17-1+b1
ii  libusbredirhost1            0.6-2
ii  libusbredirparser1          0.6-2
ii  libx11-6                    2:1.6.2-1
ii  libxrandr2                  2:1.4.1-1
ii  zlib1g                      1:1.2.8.dfsg-1

spice-client-gtk recommends no packages.

spice-client-gtk suggests no packages.

-- no debconf information
>From bdd625943aa555ab2485ec5ddb06bebde0ef0a38 Mon Sep 17 00:00:00 2001
From: Gaudenz Steinlin <gaud...@debian.org>
Date: Fri, 18 Oct 2013 17:39:10 +0200
Subject: [PATCH] Add fix for palette regression

See:
http://lists.freedesktop.org/archives/spice-devel/2013-October/014717.html
https://bugzilla.redhat.com/show_bug.cgi?id=1011936
---
 debian/patches/palette-regression.patch | 39 +++++++++++++++++++++++++++++++++
 debian/patches/series                   |  1 +
 2 files changed, 40 insertions(+)
 create mode 100644 debian/patches/palette-regression.patch

diff --git a/debian/patches/palette-regression.patch b/debian/patches/palette-regression.patch
new file mode 100644
index 0000000..fb056c9
--- /dev/null
+++ b/debian/patches/palette-regression.patch
@@ -0,0 +1,39 @@
+palette_get() used to return a ref, and palette_release() used to
+release that ref.
+
+Since ed877341, the palette is no longer refcount'ed, since its usage is
+exclusively local in common/canvas code.
+
+palette_release() shouldn't remove the palette from the cache.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1011936
+---
+ gtk/channel-display.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gtk/channel-display.c b/gtk/channel-display.c
+index 794f4eb..e0f17eb 100644
+--- a/gtk/channel-display.c
++++ b/gtk/channel-display.c
+@@ -546,8 +546,8 @@ static SpicePalette *palette_get(SpicePaletteCache *cache, uint64_t id)
+         SPICE_CONTAINEROF(cache, SpiceDisplayChannelPrivate, palette_cache);
+ 
+     /* here the returned pointer is weak, no ref given to caller.  it
+-     * seems spice canvas usage is exclusively temporary, so it's ok
+-     * (for now) */
++     * seems spice canvas usage is exclusively temporary, so it's ok.
++     * palette_release is a noop. */
+     return cache_find(c->palettes, id);
+ }
+ 
+@@ -561,7 +561,7 @@ static void palette_remove(SpicePaletteCache *cache, uint32_t id)
+ 
+ static void palette_release(SpicePaletteCache *cache, SpicePalette *palette)
+ {
+-    palette_remove(cache, palette->unique);
++    /* there is no refcount of palette, see palette_get() */
+ }
+ 
+ #ifdef SW_CANVAS_CACHE
+-- 
+1.8.3.1
diff --git a/debian/patches/series b/debian/patches/series
index 66d9efe..387c473 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ make-celt-to-be-optional.patch
 explicitly-enable-subdir-objects.patch
 remove-srcdir-or-top-srcdir-in-makefile-am.patch
 fix-usbredir-being-broken-since-commit-159c6ebf.patch
+palette-regression.patch
-- 
1.8.4.rc3

Reply via email to