From: Nikolas Arend <Nikolas.Arend@gmx.net>
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 14 Nov 2010 02:25:45 +0000 (02:25 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 14 Nov 2010 02:25:45 +0000 (02:25 +0000)
Attached patch for e_dbus seems to fix this particular issue with
_places_volume_properties_cb() for me, but I'm not sure if the root of
the problem is somewhere else, since I'm getting other occasional
segfaults now caused by different parts the code. I'll try to look into
it or provide a bt.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/e_dbus@54545 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/hal/e_hal_util.c

index 248ff37..d07e98a 100644 (file)
@@ -33,6 +33,7 @@ e_hal_property_string_get(E_Hal_Properties *properties, const char *key, int *er
   E_Hal_Property *prop;
   if (err) *err = 0;
   if (!properties->properties) return NULL;
+  if (!key) return NULL;
   prop = eina_hash_find(properties->properties, key);
   if (prop) return prop->val.s;
 
@@ -46,6 +47,7 @@ e_hal_property_bool_get(E_Hal_Properties *properties, const char *key, int *err)
   E_Hal_Property *prop;
   if (err) *err = 0;
   if (!properties->properties) return EINA_FALSE;
+  if (!key) return EINA_FALSE;
   prop = eina_hash_find(properties->properties, key);
   if (prop) return prop->val.b;
   
@@ -59,6 +61,7 @@ e_hal_property_int_get(E_Hal_Properties *properties, const char *key, int *err)
   E_Hal_Property *prop;
   if (err) *err = 0;
   if (!properties->properties) return 0;
+  if (!key) return 0;
   prop = eina_hash_find(properties->properties, key);
   if (prop) return prop->val.i;
 
@@ -72,6 +75,7 @@ e_hal_property_uint64_get(E_Hal_Properties *properties, const char *key, int *er
   E_Hal_Property *prop;
   if (err) *err = 0;
   if (!properties->properties) return 0;
+  if (!key) return 0;
   prop = eina_hash_find(properties->properties, key);
   if (prop) return prop->val.u64;
 
@@ -85,6 +89,7 @@ e_hal_property_double_get(E_Hal_Properties *properties, const char *key, int *er
   E_Hal_Property *prop;
   if (err) *err = 0;
   if (!properties->properties) return 0;
+  if (!key) return 0;
   prop = eina_hash_find(properties->properties, key);
   if (prop) return prop->val.d;
 
@@ -98,6 +103,7 @@ e_hal_property_strlist_get(E_Hal_Properties *properties, const char *key, int *e
   E_Hal_Property *prop;
   if (err) *err = 0;
   if (!properties->properties) return NULL;
+  if (!key) return NULL;
   prop = eina_hash_find(properties->properties, key);
   if (prop) return prop->val.strlist;