e17: workaround segv when mounting cdrom with udisk. btw opening devices in efm that are already mounted shows empty window

SVN revision: 63600
This commit is contained in:
Hannes Janetzek 2011-09-25 06:53:58 +00:00
parent d3c6ef3e4a
commit f30111ae01
1 changed files with 8 additions and 3 deletions

View File

@ -2881,18 +2881,23 @@ e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e)
// printf("E_FM_OP_FILE_DEL\n"); // printf("E_FM_OP_FILE_DEL\n");
path = e->data; path = e->data;
evdir = ecore_file_dir_get(path); 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 _e_fm2_live_file_del
(obj, ecore_file_file_get(path)); (obj, ecore_file_file_get(path));
} }
free(evdir); if (evdir) free(evdir);
break; break;
case E_FM_OP_MONITOR_END: /*mon dir del*/ case E_FM_OP_MONITOR_END: /*mon dir del*/
// printf("E_FM_OP_MONITOR_END\n"); // printf("E_FM_OP_MONITOR_END\n");
path = e->data; 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); dels = eina_list_append(dels, obj);
} }