From 7dbd2e8de96b02f103931bca940d0453f52eaa51 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 21 Jun 2012 11:03:50 +0000 Subject: [PATCH] fix the same instance id bug as in pager, this will likely delete configs for a large number of modules SVN revision: 72592 --- src/modules/backlight/e_mod_main.c | 6 +++++- src/modules/battery/e_mod_main.c | 8 ++++++-- src/modules/clock/e_mod_main.c | 9 +++++---- src/modules/everything/evry_gadget.c | 9 ++++++--- src/modules/ibar/e_mod_main.c | 7 ++++--- src/modules/ibox/e_mod_main.c | 9 +++++---- src/modules/xkbswitch/e_mod_main.c | 8 ++++++-- 7 files changed, 37 insertions(+), 19 deletions(-) diff --git a/src/modules/backlight/e_mod_main.c b/src/modules/backlight/e_mod_main.c index d5943d0b9..5ccdd9f12 100644 --- a/src/modules/backlight/e_mod_main.c +++ b/src/modules/backlight/e_mod_main.c @@ -457,7 +457,11 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas) static const char * _gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) { - return _gadcon_class.name; + char buf[PATH_MAX]; + + snprintf(buf, sizeof(buf), "%s.%d", client_class->name, + eina_list_count(backlight_instances)); + return strdup(buf); } static void diff --git a/src/modules/battery/e_mod_main.c b/src/modules/battery/e_mod_main.c index d1495d747..50616dcf7 100644 --- a/src/modules/battery/e_mod_main.c +++ b/src/modules/battery/e_mod_main.c @@ -165,9 +165,13 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas) } static const char * -_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) +_gc_id_new(E_Gadcon_Client_Class *client_class) { - return _gadcon_class.name; + char buf[PATH_MAX]; + + snprintf(buf, sizeof(buf), "%s.%d", client_class->name, + eina_list_count(battery_config->instances)); + return strdup(buf); } static void diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c index 765339fe7..f1f890197 100644 --- a/src/modules/clock/e_mod_main.c +++ b/src/modules/clock/e_mod_main.c @@ -677,12 +677,13 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas) static const char * -_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) +_gc_id_new(E_Gadcon_Client_Class *client_class) { - Config_Item *ci = NULL; + char buf[PATH_MAX]; - ci = _conf_item_get(NULL); - return ci->id; + snprintf(buf, sizeof(buf), "%s.%d", client_class->name, + eina_list_count(clock_instances)); + return strdup(buf); } static Config_Item * diff --git a/src/modules/everything/evry_gadget.c b/src/modules/everything/evry_gadget.c index d642e038b..000f9f3d5 100644 --- a/src/modules/everything/evry_gadget.c +++ b/src/modules/everything/evry_gadget.c @@ -201,10 +201,13 @@ _conf_item_get(const char *id) } static const char * -_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) +_gc_id_new(E_Gadcon_Client_Class *client_class) { - Gadget_Config *gc = _conf_item_get(NULL); - return gc->id; + char buf[PATH_MAX]; + + snprintf(buf, sizeof(buf), "%s.%d", client_class->name, + eina_inlist_count(instances)); + return strdup(buf); } /***************************************************************************/ diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index 7d4ddd9e9..2fcf3a733 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -227,10 +227,11 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas) static const char * _gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) { - Config_Item *ci; + char buf[PATH_MAX]; - ci = _ibar_config_item_get(NULL); - return ci->id; + snprintf(buf, sizeof(buf), "%s.%d", client_class->name, + eina_list_count(ibar_config->instances)); + return strdup(buf); } static void diff --git a/src/modules/ibox/e_mod_main.c b/src/modules/ibox/e_mod_main.c index 70de87048..20191f88d 100644 --- a/src/modules/ibox/e_mod_main.c +++ b/src/modules/ibox/e_mod_main.c @@ -230,12 +230,13 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas) } static const char * -_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) +_gc_id_new(E_Gadcon_Client_Class *client_class) { - Config_Item *ci; + char buf[PATH_MAX]; - ci = _ibox_config_item_get(NULL); - return ci->id; + snprintf(buf, sizeof(buf), "%s.%d", client_class->name, + eina_list_count(ibox_config->instances)); + return strdup(buf); } static void diff --git a/src/modules/xkbswitch/e_mod_main.c b/src/modules/xkbswitch/e_mod_main.c index 8f0d970be..693ca4532 100644 --- a/src/modules/xkbswitch/e_mod_main.c +++ b/src/modules/xkbswitch/e_mod_main.c @@ -255,9 +255,13 @@ _gc_label(E_Gadcon_Client_Class *client_class __UNUSED__) } static const char * -_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) +_gc_id_new(E_Gadcon_Client_Class *client_class) { - return _gc_class.name; + char buf[PATH_MAX]; + + snprintf(buf, sizeof(buf), "%s.%d", client_class->name, + eina_list_count(instances)); + return strdup(buf); } static Evas_Object *