e: Ignore efreet cache update on no change
authorSebastian Dransfeld <sd@tango.flipp.net>
Tue, 16 Aug 2011 12:46:47 +0000 (12:46 +0000)
committerSebastian Dransfeld <sd@tango.flipp.net>
Tue, 16 Aug 2011 12:46:47 +0000 (12:46 +0000)
SVN revision: 62507

src/bin/e_border.c
src/bin/e_configure.c
src/bin/e_order.c
src/modules/conf_applications/e_int_config_defapps.c
src/modules/everything/evry_plug_apps.c
src/modules/ibar/e_mod_main.c
src/modules/illume-home/e_mod_main.c

index df5c3cc..adaa6e5 100644 (file)
@@ -5638,11 +5638,14 @@ _e_border_cb_sync_alarm(void *data  __UNUSED__,
 static Eina_Bool
 _e_border_cb_efreet_cache_update(void *data  __UNUSED__,
                                  int ev_type __UNUSED__,
-                                 void *ev    __UNUSED__)
+                                 void *event)
 {
+   Efreet_Event_Cache_Update *ev = event;
    Eina_List *l;
    E_Border *bd;
 
+   if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
    /* mark all borders for desktop/icon updates */
    EINA_LIST_FOREACH(borders, l, bd)
      {
index f707292..568023e 100644 (file)
@@ -399,12 +399,16 @@ _e_configure_efreet_desktop_update(void)
 }
 
 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();
    if (update_job) ecore_job_del(update_job);
    update_job = ecore_job_add(_configure_job, NULL);
-   return 1;
+   return ECORE_CALLBACK_PASS_ON;;
 }
 
 static void
index 95f8480..c2bbb3d 100644 (file)
@@ -278,11 +278,14 @@ _e_order_save(E_Order *eo)
 }
 
 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;
    E_Order *eo;
 
+   if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
    /* reread all .order files */
    EINA_LIST_FOREACH(orders, l, eo)
      {
index a108376..306bdf5 100644 (file)
@@ -204,8 +204,12 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
 }
 
 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;
    Efreet_Desktop *desk;
    EINA_LIST_FREE(cfdata->desks, desk)
index 3d2edd2..3b86e6c 100644 (file)
@@ -1000,14 +1000,17 @@ _run_executable(Evry_Action *act)
 
 /***************************************************************************/
 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;
 
+   if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
    EINA_LIST_FREE(apps_cache, d)
      efreet_desktop_unref(d);
 
-   return EINA_TRUE;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 static int
index e93ccf2..e0c1207 100644 (file)
@@ -1314,11 +1314,14 @@ e_modapi_save(E_Module *m __UNUSED__)
 }
 
 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;
    Instance *inst;
 
+   if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
    EINA_LIST_FOREACH(ibar_config->instances, l, inst)
      {
        const Eina_List *l2;
index 1cca793..fa4a366 100644 (file)
@@ -561,8 +561,12 @@ _il_home_cb_selected(void *data, Evas_Object *obj __UNUSED__, void *event __UNUS
 }
 
 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);
    defer = ecore_timer_add(0.5, _il_home_update_deferred, NULL);
    return ECORE_CALLBACK_PASS_ON;