aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/e17/e-wm/gsm-segfault-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/e17/e-wm/gsm-segfault-fix.patch')
-rw-r--r--recipes/e17/e-wm/gsm-segfault-fix.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/recipes/e17/e-wm/gsm-segfault-fix.patch b/recipes/e17/e-wm/gsm-segfault-fix.patch
new file mode 100644
index 0000000000..0bed84a26e
--- /dev/null
+++ b/recipes/e17/e-wm/gsm-segfault-fix.patch
@@ -0,0 +1,28 @@
+Index: e/src/modules/illume/e_mod_gad_gsm.c
+===================================================================
+--- e/src/modules/illume/e_mod_gad_gsm.c (revision 37617)
++++ e/src/modules/illume/e_mod_gad_gsm.c (revision 37618)
+@@ -353,7 +353,7 @@
+ {
+ /* We care only about the provider name right now. All the other status
+ * informations get ingnored for the gadget for now */
+- const char *provider, *name, *reg_stat;
++ const char *provider = 0 , *name = 0, *reg_stat = 0;
+ DBusMessageIter iter, a_iter, s_iter, v_iter;
+
+ if (!dbus_message_has_signature(msg, "a{sv}")) return NULL;
+@@ -380,10 +380,13 @@
+ dbus_message_iter_next(&a_iter);
+ }
+
++ if (!reg_stat) return NULL;
+ if (strcmp(reg_stat, "unregistered") == 0) provider = "No Service";
+ else if (strcmp(reg_stat, "busy") == 0) provider = "Searching...";
+ else if (strcmp(reg_stat, "denied") == 0) provider = "SOS only";
+-
++
++ if (!provider) return NULL;
++
+ return strdup(provider);
+ }
+