[gnome-shell] st: Do not try to unref NULL CoglObjects



commit 59c2ace98c99db57d085c2fe61f85d2dceff95e4
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Apr 14 17:18:42 2016 +0200

    st: Do not try to unref NULL CoglObjects
    
    https://bugzilla.gnome.org/show_bug.cgi?id=765061

 src/st/st-private.c       |    5 ++++-
 src/st/st-texture-cache.c |    8 ++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/src/st/st-private.c b/src/st/st-private.c
index d40eceb..e5a2701 100644
--- a/src/st/st-private.c
+++ b/src/st/st-private.c
@@ -395,7 +395,10 @@ _st_create_shadow_pipeline (StShadow    *shadow_spec,
 
   pipeline = cogl_pipeline_copy (shadow_pipeline_template);
   cogl_pipeline_set_layer_texture (pipeline, 0, texture);
-  cogl_object_unref (texture);
+
+  if (texture)
+    cogl_object_unref (texture);
+
   return pipeline;
 }
 
diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c
index 88c6bf3..cec97d5 100644
--- a/src/st/st-texture-cache.c
+++ b/src/st/st-texture-cache.c
@@ -640,8 +640,12 @@ st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
                                                              cairo_image_surface_get_stride (surface),
                                                              cairo_image_surface_get_data (surface),
                                                              NULL));
-      clutter_texture_set_cogl_texture (bind->texture, texdata);
-      cogl_object_unref (texdata);
+
+      if (texdata)
+        {
+          clutter_texture_set_cogl_texture (bind->texture, texdata);
+          cogl_object_unref (texdata);
+        }
 
       clutter_actor_set_opacity (CLUTTER_ACTOR (bind->texture), 255);
     }


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