[gnome-shell] app-system: Don't assume that gmenu_tree_load_sync() sets error
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] app-system: Don't assume that gmenu_tree_load_sync() sets error
- Date: Mon, 20 Feb 2012 10:43:04 +0000 (UTC)
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]