[gnome-shell] st-texture-cache: Don't add NULL textures to cache



commit a24999b7a317483d20a4df0abdf04f40f9bf95ed
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Tue Apr 17 04:43:34 2018 -0500

    st-texture-cache: Don't add NULL textures to cache
    
    This might cause a crash when cleaning up the cache as the hash table has
    cogl_object_unref as DestroyNotify function but that assumes that
    the passed object is a valid CoglObject.
    
    Fixes: #210

 src/st/st-texture-cache.c | 5 +++++
 1 file changed, 5 insertions(+)
---
diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c
index e8a832df0..58185120e 100644
--- a/src/st/st-texture-cache.c
+++ b/src/st/st-texture-cache.c
@@ -520,6 +520,8 @@ finish_texture_load (AsyncTextureLoadData *data,
     goto out;
 
   texdata = pixbuf_to_cogl_texture (pixbuf);
+  if (!texdata)
+    goto out;
 
   if (data->policy != ST_TEXTURE_CACHE_POLICY_NONE)
     {
@@ -1273,6 +1275,9 @@ st_texture_cache_load_file_sync_to_cogl_texture (StTextureCache *cache,
       texdata = pixbuf_to_cogl_texture (pixbuf);
       g_object_unref (pixbuf);
 
+      if (!texdata)
+        goto out;
+
       if (policy == ST_TEXTURE_CACHE_POLICY_FOREVER)
         {
           cogl_object_ref (texdata);


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