fix efm cache listener to only activate (once) on icon update instead of desktop update since this is the only one which will matter, also only update the icon image instead of the entire thing

SVN revision: 83684
This commit is contained in:
Mike Blumenkrantz 2013-02-06 14:54:23 +00:00
parent a072a15edd
commit 714611a0da
3 changed files with 6 additions and 16 deletions

View File

@ -4,6 +4,7 @@
* added e_widget_on_disable_hook_set
* added option for preventing all keyboard layout changes
* moved "allow windows above fullscreen windows" option to geometry settings dialog
* fix filemanager efreet cache listeners and updates
2013-02-05 Mike Blumenkrantz

1
NEWS
View File

@ -155,3 +155,4 @@ Fixes:
* fix button toggling in personal app launchers dialog
* fix bug where edge flips would stop functioning after dragging to an invalid edge containing a shelf
* moved "allow windows above fullscreen windows" option to geometry settings dialog
* fix filemanager efreet cache listeners and updates

View File

@ -165,7 +165,6 @@ struct _E_Fm2_Smart_Data
E_Fm2_Icon *iop_icon;
Eina_List *handlers;
Ecore_Event_Handler *efreet_cache_update;
Efreet_Desktop *desktop;
};
@ -1125,9 +1124,6 @@ e_fm2_path_set(Evas_Object *obj, const char *dev, const char *path)
if ((m->volume->efm_mode != EFM_MODE_USING_HAL_MOUNT) && (!sd->mount->mounted)) return;
}
}
if (sd->efreet_cache_update)
ecore_event_handler_del(sd->efreet_cache_update);
sd->efreet_cache_update = NULL;
if (!sd->realpath) return;
if (!sd->mount || sd->mount->mounted)
@ -1667,8 +1663,8 @@ e_fm2_icons_update(Evas_Object *obj)
if (ic->realized)
{
_e_fm2_icon_unrealize(ic);
_e_fm2_icon_realize(ic);
E_FN_DEL(evas_object_del, ic->obj_icon);
_e_fm2_icon_icon_set(ic);
}
}
e_fm2_custom_file_flush();
@ -4560,12 +4556,7 @@ _e_fm2_icon_fill(E_Fm2_Icon *ic, E_Fm2_Finfo *finf)
}
if (_e_fm2_file_is_desktop(ic->info.file))
{
_e_fm2_icon_desktop_load(ic);
if (!ic->sd->efreet_cache_update)
ic->sd->efreet_cache_update =
ecore_event_handler_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, (Ecore_Event_Handler_Cb)_e_fm2_icon_cache_update, ic->sd->obj);
}
_e_fm2_icon_desktop_load(ic);
if (cf)
{
@ -8392,7 +8383,7 @@ _e_fm2_smart_add(Evas_Object *obj)
evas_object_resize(obj, 0, 0);
E_LIST_HANDLER_APPEND(sd->handlers, E_EVENT_CONFIG_ICON_THEME, _e_fm2_cb_theme, sd->obj);
E_LIST_HANDLER_APPEND(sd->handlers, EFREET_EVENT_DESKTOP_CACHE_BUILD, _e_fm2_icon_cache_update, sd->obj);
E_LIST_HANDLER_APPEND(sd->handlers, EFREET_EVENT_ICON_CACHE_UPDATE, _e_fm2_icon_cache_update, sd->obj);
_e_fm2_list = eina_list_append(_e_fm2_list, sd->obj);
}
@ -8407,9 +8398,6 @@ _e_fm2_smart_del(Evas_Object *obj)
E_FREE_LIST(sd->handlers, ecore_event_handler_del);
if (sd->efreet_cache_update)
ecore_event_handler_del(sd->efreet_cache_update);
_e_fm2_client_monitor_list_end(obj);
if (sd->realpath) _e_fm2_client_monitor_del(sd->id, sd->realpath);
_e_fm2_live_process_end(obj);