Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/emotion

Dir     : e17/libs/emotion/src/lib


Modified Files:
        emotion_smart.c 


Log Message:


put jobs back... does this work?

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/emotion/src/lib/emotion_smart.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- emotion_smart.c     18 Jul 2004 08:25:45 -0000      1.5
+++ emotion_smart.c     22 Jul 2004 04:13:28 -0000      1.6
@@ -42,6 +42,8 @@
    double         seek_pos;
    double         len;
    
+   Ecore_Job     *job;
+   
    unsigned char  play : 1;
    unsigned char  seek : 1;
    
@@ -62,6 +64,7 @@
 
 static void _mouse_move(void *data, Evas *ev, Evas_Object *obj, void *event_info);
 static void _mouse_down(void *data, Evas *ev, Evas_Object *obj, void *event_info);
+static void _pos_set_job(void *data);
 static void _pixels_get(void *data, Evas_Object *obj);
 
 static void _smart_init(void);
@@ -238,7 +241,10 @@
    if (!sd->module) return;
    if (!sd->video) return;
    sd->seek_pos = sec;
-   sd->module->pos_set(sd->video, sd->seek_pos);
+   sd->seek = 1;
+   sd->pos = sd->seek_pos;
+   if (sd->job) ecore_job_del(sd->job);
+   sd->job = ecore_job_add(_pos_set_job, obj);
 }
 
 double
@@ -874,6 +880,22 @@
    sd->module->event_mouse_button_feed(sd->video, 1, x, y);
 }
 
+static void
+_pos_set_job(void *data)
+{
+   Evas_Object *obj;
+   Smart_Data *sd;
+   
+   obj = data;
+   E_SMART_OBJ_GET(sd, obj, E_OBJ_NAME);
+   sd->job = NULL;
+   if (sd->seek)
+     {
+       sd->module->pos_set(sd->video, sd->seek_pos);
+       sd->seek = 0;
+     }
+}
+
 /* called by evas when it needs pixels for the image object */
 static void
 _pixels_get(void *data, Evas_Object *obj)
@@ -971,6 +993,7 @@
    if (sd->module) _emotion_module_close(sd->module);
    evas_object_del(sd->obj);
    if (sd->file) free(sd->file);
+   if (sd->job) ecore_job_del(sd->job);
    if (sd->progress.info) free(sd->progress.info);
    if (sd->ref.file) free(sd->ref.file);
    free(sd);




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to