From 9849855e189cd2df3ddf1a6a4408bad17071c966 Mon Sep 17 00:00:00 2001 From: Chidambar Zinnoury Date: Sat, 23 Jul 2016 12:51:03 +0200 Subject: [PATCH] =?UTF-8?q?=20e=20fm:=20Don=E2=80=99t=20check=20every=20ot?= =?UTF-8?q?her=20line=20whether=20the=20location=20is=20writable=20when=20?= =?UTF-8?q?creating=20menu.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bin/e_fm.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 88f22870a..f19015744 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -9065,6 +9065,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) Eina_List *l = NULL; int x, y, can_w, can_w2, protect; char buf[PATH_MAX], *ext; + Eina_Bool writable; sd = ic->sd; if (ic->menu) return; @@ -9077,6 +9078,8 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) sd->icon_menu.replace.func(sd->icon_menu.replace.data, sd->obj, mn, &ic->info); else { + writable = ecore_file_can_write(sd->realpath); + if (sd->icon_menu.start.func) sd->icon_menu.start.func(sd->icon_menu.start.data, sd->obj, mn, &ic->info); if (!(sd->icon_menu.flags & E_FM2_MENU_NO_VIEW_MENU)) @@ -9115,7 +9118,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) } /* FIXME: stat the dir itself - move to e_fm_main */ - if (ecore_file_can_write(sd->realpath) && !(sd->icon_menu.flags & E_FM2_MENU_NO_NEW)) + if (writable && !(sd->icon_menu.flags & E_FM2_MENU_NO_NEW)) { mi = e_menu_item_new(mn); e_menu_item_separator_set(mi, 1); @@ -9194,7 +9197,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) { if (!(sd->icon_menu.flags & E_FM2_MENU_NO_CUT)) { - if (ecore_file_can_write(sd->realpath)) + if (writable) { mi = e_menu_item_new(mn); e_menu_item_separator_set(mi, 1); @@ -9207,7 +9210,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) } if (!(sd->icon_menu.flags & E_FM2_MENU_NO_COPY)) { - if (!ecore_file_can_write(sd->realpath)) + if (!writable) { mi = e_menu_item_new(mn); e_menu_item_separator_set(mi, 1); @@ -9222,7 +9225,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) if (((!(sd->icon_menu.flags & E_FM2_MENU_NO_PASTE)) || (!(sd->icon_menu.flags & E_FM2_MENU_NO_SYMLINK))) && (eina_list_count(_e_fm_file_buffer) > 0) && - ecore_file_can_write(sd->realpath)) + writable) { if (!(sd->icon_menu.flags & E_FM2_MENU_NO_PASTE)) {