From f30111ae01690936f8be6b37057a69e6c5476838 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Sun, 25 Sep 2011 06:53:58 +0000 Subject: [PATCH] e17: workaround segv when mounting cdrom with udisk. btw opening devices in efm that are already mounted shows empty window SVN revision: 63600 --- src/bin/e_fm.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 42b04a488..44bae0c72 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -2881,18 +2881,23 @@ e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e) // printf("E_FM_OP_FILE_DEL\n"); path = e->data; evdir = ecore_file_dir_get(path); - if ((sd->id == e->ref_to) && (!strcmp(dir, evdir))) + if ((dir) && (evdir) && (sd->id == e->ref_to) && (!strcmp(dir, evdir))) { _e_fm2_live_file_del (obj, ecore_file_file_get(path)); } - free(evdir); + if (evdir) free(evdir); break; case E_FM_OP_MONITOR_END: /*mon dir del*/ // printf("E_FM_OP_MONITOR_END\n"); path = e->data; - if ((sd->id == e->ref_to) && (!strcmp(dir, path))) + /* FIXME dir should not be null but can. fix segv + when mounting cdrom with udisk here + btw monitor end seems to be a strange event for + mounting disks. + */ + if ((dir) && (path) && (sd->id == e->ref_to) && (!strcmp(dir, path))) { dels = eina_list_append(dels, obj); }