Why do it the hard way?
authorhandyande <handyande>
Sat, 27 Mar 2004 23:16:48 +0000 (23:16 +0000)
committerhandyande <handyande@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 27 Mar 2004 23:16:48 +0000 (23:16 +0000)
SVN revision: 9503

legacy/ecore/src/lib/ecore_config/ecore_config.c
legacy/ecore/src/lib/ecore_config/ipc_ecore.c
legacy/ecore/src/lib/ecore_config/ipc_main.c

index f4b4cd1..d98fc43 100644 (file)
@@ -287,8 +287,15 @@ int ecore_config_set_typed(Ecore_Config_Bundle *t,const char *key,void *val,int
   Ecore_Config_Listener_List *l;
   int ret;
 
-  if (!t||!key)
+  if (!key)
     return ECORE_CONFIG_ERR_NODATA;
+  if (!t) { /* global prop */
+    e=ecore_config_get(__ecore_config_bundle_local,key);
+    if (e)
+      for(l=e->listeners;l;l=l->next)
+        l->listener(e->key,e->type,l->tag,l->data,t);
+    return ECORE_CONFIG_ERR_SUCC;
+  }
 
   if (!(e=ecore_config_get(t,key)))
     return ecore_config_add_typed(t,key,val,type);
index 945d421..48766be 100644 (file)
@@ -134,10 +134,10 @@ static int _ecore_config_ipc_ecore_handle_request(Ecore_Ipc_Server *server,Ecore
 
   switch(e->major) {
     case IPC_PROP_LIST:
-      r=_ecore_config_ipc_prop_list(srv, serial);
-      break;
-    case IPC_GLOBAL_PROP_LIST:
-      r=_ecore_config_ipc_global_prop_list(srv, serial);
+      if (srv == __ecore_config_server_global)
+        r=_ecore_config_ipc_global_prop_list(srv, serial);
+      else
+        r=_ecore_config_ipc_prop_list(srv, serial);
       break;
     case IPC_PROP_DESC:
       if(_ecore_config_ipc_ecore_get_string(&m,&k)==ECORE_CONFIG_ERR_SUCC)
index c92faf5..85f2248 100644 (file)
@@ -127,7 +127,7 @@ int _ecore_config_ipc_prop_set(Ecore_Config_Server *srv, const long serial,const
   Ecore_Config_Bundle *theme;
   theme=ecore_config_bundle_get_by_serial(srv, serial);
   ret=ecore_config_set(theme,key,(char *)val);
-  E(1,"ipc.prop.set(%s->%s,\"%s\") => %d\n",theme->identifier,key,val,ret);
+  E(1,"ipc.prop.set(%s->%s,\"%s\") => %d\n",theme?theme->identifier:"",key,val,ret);
   return ret;
 #else
   return ECORE_CONFIG_ERR_NOTSUPP;