static int _e_fm_client_file_symlink(const char *args, Evas_Object *e_fm);
static void _e_fm2_sel_rect_update(void *data);
-static void _e_fm2_context_menu_append(Evas_Object *obj, const char *path, Eina_List *l, E_Menu *mn, E_Fm2_Icon *ic);
+static void _e_fm2_context_menu_append(Evas_Object *obj, const char *path, const Eina_List *l, E_Menu *mn, E_Fm2_Icon *ic);
static int _e_fm2_context_list_sort(const void *data1, const void *data2);
static char *_e_fm_string_append_char(char *str, size_t *size, size_t *len, char c);
E_Manager *man;
E_Container *con;
E_Zone *zone;
- Eina_List *sel, *l = NULL;
+ Eina_List *sel;
+ const Eina_List *l = NULL;
int x, y, can_w, can_w2, protect;
char buf[PATH_MAX], *ext;
}
static void
-_e_fm2_context_menu_append(Evas_Object *obj, const char *path, Eina_List *l, E_Menu *mn, E_Fm2_Icon *ic)
+_e_fm2_context_menu_append(Evas_Object *obj, const char *path, const Eina_List *list, E_Menu *mn, E_Fm2_Icon *ic)
{
E_Fm2_Mime_Handler *handler;
+ Eina_List *l;
Eina_Bool added = EINA_FALSE;
- if (!l) return;
+ if (!list) return;
+ l = eina_list_clone(list);
l = eina_list_sort(l, -1, _e_fm2_context_list_sort);
EINA_LIST_FREE(l, handler)
}
}
-/* get the list of mime handlers for a mime.
- NOTE: the list should be free()'ed */
-EAPI Eina_List *
+EAPI const Eina_List *
e_fm2_mime_handler_mime_handlers_get(const char *mime)
{
if ((!mime) || (!_mime_handlers)) return NULL;
EAPI void
e_fm2_mime_handler_mime_handlers_call_all(Evas_Object *obj, const char *path, const char *mime)
{
- Eina_List *handlers = NULL;
- Eina_List *l = NULL;
+ const Eina_List *l, *handlers;
E_Fm2_Mime_Handler *handler = NULL;
if ((!obj) || (!path) || (!mime)) return;
EAPI void e_fm2_mime_handler_glob_handlers_call_all(Evas_Object *obj, const char *path, const char *glob);
EAPI void e_fm2_mime_handler_mime_del(E_Fm2_Mime_Handler *handler, const char *mime);
EAPI void e_fm2_mime_handler_glob_del(E_Fm2_Mime_Handler *handler, const char *glob);
-EAPI Eina_List *e_fm2_mime_handler_mime_handlers_get(const char *mime);
+EAPI const Eina_List *e_fm2_mime_handler_mime_handlers_get(const char *mime);
EAPI Eina_List *e_fm2_mime_handler_glob_handlers_get(const char *glob);
#endif