[gnome-shell] app-system: Don't assume that gmenu_tree_load_sync() sets error



commit b990ed2c232e85b37630fdf0b8daad5727212013
Author: Florian MÃllner <fmuellner gnome org>
Date:   Mon Feb 20 08:33:49 2012 +0100

    app-system: Don't assume that gmenu_tree_load_sync() sets error
    
    The function may return FALSE without setting the GError, so don't
    assume it is set to prevent a crash in that case. While at it, free
    the GError we were leaking before.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=670418

 src/shell-app-system.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)
---
diff --git a/src/shell-app-system.c b/src/shell-app-system.c
index f6c8c01..a80b233 100644
--- a/src/shell-app-system.c
+++ b/src/shell-app-system.c
@@ -320,7 +320,15 @@ on_apps_tree_changed_cb (GMenuTree *tree,
 
   if (!gmenu_tree_load_sync (self->priv->apps_tree, &error))
     {
-      g_warning ("Failed to load apps: %s", error->message);
+      if (error)
+        {
+          g_warning ("Failed to load apps: %s", error->message);
+          g_error_free (error);
+        }
+      else
+        {
+          g_warning ("Failed to load apps");
+        }
       return;
     }
 
@@ -411,7 +419,15 @@ on_settings_tree_changed_cb (GMenuTree *tree,
   g_hash_table_remove_all (self->priv->setting_id_to_app);
   if (!gmenu_tree_load_sync (self->priv->settings_tree, &error))
     {
-      g_warning ("Failed to load settings: %s", error->message);
+      if (error)
+        {
+          g_warning ("Failed to load apps: %s", error->message);
+          g_error_free (error);
+        }
+      else
+        {
+          g_warning ("Failed to load apps");
+        }
       return;
     }
 



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