e: Ignore efreet cache update on no change

SVN revision: 62507
This commit is contained in:
Sebastian Dransfeld 2011-08-16 12:46:47 +00:00
parent 4fbbcb8cf1
commit 70ed1d3def
7 changed files with 33 additions and 9 deletions

View File

@ -5638,11 +5638,14 @@ _e_border_cb_sync_alarm(void *data __UNUSED__,
static Eina_Bool static Eina_Bool
_e_border_cb_efreet_cache_update(void *data __UNUSED__, _e_border_cb_efreet_cache_update(void *data __UNUSED__,
int ev_type __UNUSED__, int ev_type __UNUSED__,
void *ev __UNUSED__) void *event)
{ {
Efreet_Event_Cache_Update *ev = event;
Eina_List *l; Eina_List *l;
E_Border *bd; E_Border *bd;
if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
/* mark all borders for desktop/icon updates */ /* mark all borders for desktop/icon updates */
EINA_LIST_FOREACH(borders, l, bd) EINA_LIST_FOREACH(borders, l, bd)
{ {

View File

@ -399,12 +399,16 @@ _e_configure_efreet_desktop_update(void)
} }
static Eina_Bool static Eina_Bool
_e_configure_cb_efreet_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) _e_configure_cb_efreet_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event)
{ {
Efreet_Event_Cache_Update *ev = event;
if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
_e_configure_efreet_desktop_cleanup(); _e_configure_efreet_desktop_cleanup();
if (update_job) ecore_job_del(update_job); if (update_job) ecore_job_del(update_job);
update_job = ecore_job_add(_configure_job, NULL); update_job = ecore_job_add(_configure_job, NULL);
return 1; return ECORE_CALLBACK_PASS_ON;;
} }
static void static void

View File

@ -278,11 +278,14 @@ _e_order_save(E_Order *eo)
} }
static Eina_Bool static Eina_Bool
_e_order_cb_efreet_cache_update(void *data __UNUSED__, int ev_type __UNUSED__, void *ev __UNUSED__) _e_order_cb_efreet_cache_update(void *data __UNUSED__, int ev_type __UNUSED__, void *event)
{ {
Efreet_Event_Cache_Update *ev = event;
Eina_List *l; Eina_List *l;
E_Order *eo; E_Order *eo;
if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
/* reread all .order files */ /* reread all .order files */
EINA_LIST_FOREACH(orders, l, eo) EINA_LIST_FOREACH(orders, l, eo)
{ {

View File

@ -204,8 +204,12 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
} }
static Eina_Bool static Eina_Bool
_desks_update(void *data, int ev_type __UNUSED__, void *ev __UNUSED__) _desks_update(void *data, int ev_type __UNUSED__, void *event)
{ {
Efreet_Event_Cache_Update *ev = event;
if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
E_Config_Dialog_Data *cfdata = data; E_Config_Dialog_Data *cfdata = data;
Efreet_Desktop *desk; Efreet_Desktop *desk;
EINA_LIST_FREE(cfdata->desks, desk) EINA_LIST_FREE(cfdata->desks, desk)

View File

@ -1000,14 +1000,17 @@ _run_executable(Evry_Action *act)
/***************************************************************************/ /***************************************************************************/
static Eina_Bool static Eina_Bool
_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) _desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event)
{ {
Efreet_Event_Cache_Update *ev = event;
Efreet_Desktop *d; Efreet_Desktop *d;
if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
EINA_LIST_FREE(apps_cache, d) EINA_LIST_FREE(apps_cache, d)
efreet_desktop_unref(d); efreet_desktop_unref(d);
return EINA_TRUE; return ECORE_CALLBACK_PASS_ON;
} }
static int static int

View File

@ -1314,11 +1314,14 @@ e_modapi_save(E_Module *m __UNUSED__)
} }
static Eina_Bool static Eina_Bool
_ibar_cb_config_icons(__UNUSED__ void *data, __UNUSED__ int ev_type, __UNUSED__ void *ev) _ibar_cb_config_icons(__UNUSED__ void *data, __UNUSED__ int ev_type, void *event)
{ {
Efreet_Event_Cache_Update *ev = event;
const Eina_List *l; const Eina_List *l;
Instance *inst; Instance *inst;
if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
EINA_LIST_FOREACH(ibar_config->instances, l, inst) EINA_LIST_FOREACH(ibar_config->instances, l, inst)
{ {
const Eina_List *l2; const Eina_List *l2;

View File

@ -561,8 +561,12 @@ _il_home_cb_selected(void *data, Evas_Object *obj __UNUSED__, void *event __UNUS
} }
static Eina_Bool static Eina_Bool
_il_home_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) _il_home_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event)
{ {
Efreet_Event_Cache_Update *ev = event;
if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
if (defer) ecore_timer_del(defer); if (defer) ecore_timer_del(defer);
defer = ecore_timer_add(0.5, _il_home_update_deferred, NULL); defer = ecore_timer_add(0.5, _il_home_update_deferred, NULL);
return ECORE_CALLBACK_PASS_ON; return ECORE_CALLBACK_PASS_ON;