Enlightenment CVS committal

Author  : titan
Project : e17
Module  : apps/ephoto

Dir     : e17/apps/ephoto/src/bin


Modified Files:
        ephoto_albums.c 


Log Message:
Bug fix for when albums are clicked

===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_albums.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ephoto_albums.c     9 Apr 2008 19:47:39 -0000       1.2
+++ ephoto_albums.c     10 Apr 2008 00:31:33 -0000      1.3
@@ -11,6 +11,7 @@
 static void add_rc_menu(Ewl_Widget *w, void *event, void *data);
 static void album_clicked(Ewl_Widget *w, void *event, void *data);
 static void thumb_clicked(Ewl_Widget *w, void *event, void *data);
+static void populate_images(Ewl_Widget *w, void *event, void *data);
 
 void 
 show_albums(Ewl_Widget *c)
@@ -108,7 +109,7 @@
 static void album_clicked(Ewl_Widget *w, void *event, void *data)
 {
        em->current_album = strdup(ewl_icon_label_get(EWL_ICON(w)));
-       populate_albums(NULL, NULL, NULL);
+       populate_images(NULL, NULL, NULL);
 }
 
 static void 
@@ -157,8 +158,8 @@
 populate_albums(Ewl_Widget *w, void *event, void *data)
 {
        const char *album;
-       pthread_t thumb_worker, album_worker, image_worker;
-       int ret1, ret2;
+       pthread_t album_worker;
+       int ret1;
        
        album = NULL;
 
@@ -169,26 +170,40 @@
        }
 
        if (!ecore_list_empty_is(em->albums))
-       {
                ecore_list_destroy(em->albums);
-       }
-       if (!ecore_list_empty_is(em->images))
-       {
-               ecore_dlist_destroy(em->images);
-       }
 
        em->albums = ecore_list_new();
-       em->images = ecore_dlist_new();
-       if(em->fbox) ewl_container_reset(EWL_CONTAINER(em->fbox));
-
+       
        ret1 = pthread_create(&album_worker, NULL, get_albums_pre, NULL);
-       ret2 = pthread_create(&image_worker, NULL, get_aimages_pre, NULL);
-       if (ret1 || ret2)
+       if (ret1)
        {
                printf("ERROR: Couldn't create thread!\n");
                return;
        }
        pthread_join(album_worker, NULL);
+
+       populate_images(NULL, NULL, NULL);
+
+       return;
+}
+
+static void
+populate_images(Ewl_Widget *w, void *event, void *data)
+{
+       pthread_t thumb_worker, image_worker;
+       int ret1;
+
+       if (!ecore_list_empty_is(em->images))
+               ecore_dlist_destroy(em->images);
+
+       em->images = ecore_dlist_new();
+       if (em->fbox) ewl_container_reset(EWL_CONTAINER(em->fbox));
+
+       ret1 = pthread_create(&image_worker, NULL, get_aimages_pre, NULL);
+       if (ret1)
+       {       printf("ERROR: Couldn't create thread!\n");
+               return;
+       }
        pthread_join(image_worker, NULL);
 
        ret1 = pthread_create(&thumb_worker, NULL, create_athumb, NULL);



-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to