Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_fm.c 


Log Message:


fix possible bus error...

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_fm.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- e_fm.c      12 Aug 2006 12:49:52 -0000      1.26
+++ e_fm.c      12 Aug 2006 14:19:03 -0000      1.27
@@ -43,6 +43,7 @@
    Ecore_Timer      *sort_idler;
    Ecore_Job        *scroll_job;
    Ecore_Job        *resize_job;
+   Ecore_Job        *refresh_job;
    DIR              *dir;
    unsigned char     iconlist_changed : 1;
 
@@ -150,6 +151,7 @@
 static void _e_fm2_file_delete_delete_cb(void *obj);
 static void _e_fm2_file_delete_yes_cb(void *data, E_Dialog *dialog);
 static void _e_fm2_file_delete_no_cb(void *data, E_Dialog *dialog);
+static void _e_fm2_refresh_job_cb(void *data);
 
 static char *_meta_path = NULL;
 static Evas_Smart *_e_fm2_smart = NULL;
@@ -719,6 +721,7 @@
        ecore_idler_del(sd->sort_idler);
        sd->sort_idler = NULL;
      }
+   
    E_FREE(sd->tmp.list_index);
    _e_fm2_queue_free(obj);
    _e_fm2_obj_icons_place(sd);
@@ -2184,6 +2187,7 @@
    _e_fm2_icons_free(obj);
    if (sd->scroll_job) ecore_job_del(sd->scroll_job);
    if (sd->resize_job) ecore_job_del(sd->resize_job);
+   if (sd->refresh_job) ecore_job_del(sd->refresh_job);
    if (sd->dev) evas_stringshare_del(sd->dev);
    if (sd->path) evas_stringshare_del(sd->path);
    if (sd->realpath) evas_stringshare_del(sd->realpath);
@@ -2430,7 +2434,8 @@
             e_dialog_show(dialog);
             return;
          }
-       e_fm2_refresh(ic->sd->obj);
+       if (ic->sd->refresh_job) ecore_job_del(ic->sd->refresh_job);
+       ic->sd->refresh_job = ecore_job_add(_e_fm2_refresh_job_cb, ic->sd->obj);
      }
 }
 
@@ -2523,7 +2528,8 @@
        return;
      }
    e_object_del(E_OBJECT(dialog));
-   e_fm2_refresh(ic->sd->obj);
+   if (ic->sd->refresh_job) ecore_job_del(ic->sd->refresh_job);
+   ic->sd->refresh_job = ecore_job_add(_e_fm2_refresh_job_cb, ic->sd->obj);
 }
 
 static void
@@ -2534,4 +2540,15 @@
    ic = data;
    ic->dialog = NULL;
    e_object_del(E_OBJECT(dialog));
+}
+
+static void
+_e_fm2_refresh_job_cb(void *data)
+{
+   E_Fm2_Smart_Data *sd;
+   
+   sd = evas_object_smart_data_get(data);
+   if (!sd) return;
+   e_fm2_refresh(data);
+   sd->refresh_job = NULL;
 }



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to