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);
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)
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;