[PATCH spice-gtk 1/2] display: fix palette regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]