Update of /cvsroot/gtkpod/gtkpod/src
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv14251/src

Modified Files:
      Tag: coverart_display_development_branch
        display_coverart.c display_sorttabs.c misc_confirm.c 
        display_coverart.h 
Log Message:
- fire_display_change attribute changed to block_display_change and function 
created for externally setting it if required.

- fix to avoid sigsegv in display_sorttabs.c. coverart_select_cover() only 
called if list has not been deleted.

- Deafen coverart_select_cover() while deletion of tracks is taking place.

Index: display_coverart.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/Attic/display_coverart.c,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -d -r1.1.2.5 -r1.1.2.6
--- display_coverart.c  8 Feb 2007 00:25:41 -0000       1.1.2.5
+++ display_coverart.c  12 Feb 2007 23:06:09 -0000      1.1.2.6
@@ -407,13 +407,13 @@
        /* Stop redisplay of the artwork as its already
         * in the correct location
         */
-       cdwidget->fire_display_change = FALSE;
+       coverart_block_change (TRUE);
        
        /* Select the correct track in the sorttabs */
        status = st_set_selection (cover->track);
        
        /* Turn the display change back on */
-       cdwidget->fire_display_change = TRUE;
+       coverart_block_change (FALSE);
        
        g_return_if_fail (status);
 }
@@ -822,7 +822,7 @@
        g_signal_connect (G_OBJECT(cdwidget->cdslider), "value-changed",
                      G_CALLBACK(on_cover_display_slider_value_changed), NULL);
        
-       cdwidget->fire_display_change = TRUE;
+       coverart_block_change (FALSE);
        
        gtk_widget_show_all (cdwidget->contentpanel);
 }
@@ -872,7 +872,7 @@
   gint displaytotal, index;
                
        /* Only select covers if fire display change is enabled */
-       if (! cdwidget->fire_display_change)
+       if (cdwidget->block_display_change)
                return;
                
        displaytotal = g_list_length(cdwidget->displaytracks);
@@ -961,7 +961,7 @@
        /* Ensure that the setting of images hasnt been turned off
         * due to being in the middle of a selection operation
         */
-       if (! cdwidget->fire_display_change)
+       if (cdwidget->block_display_change)
                return;
                        
        cover_window = gtkpod_xml_get_widget (main_window_xml, 
"cover_display_window");
@@ -1006,3 +1006,8 @@
        debug_albums ();
        printf("######### END OF ORIGINAL LINE UP #######\n");*/
 }
+
+void coverart_block_change (gboolean val)
+{
+       cdwidget->block_display_change = val;
+}

Index: display_sorttabs.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_sorttabs.c,v
retrieving revision 1.85.2.4
retrieving revision 1.85.2.5
diff -u -d -r1.85.2.4 -r1.85.2.5
--- display_sorttabs.c  8 Feb 2007 00:25:42 -0000       1.85.2.4
+++ display_sorttabs.c  12 Feb 2007 23:06:10 -0000      1.85.2.5
@@ -2031,7 +2031,6 @@
        
        Playlist *plitem = pm_get_selected_playlist ();
        coverart_set_images (plitem->members);
-       
 }
 
 gboolean st_set_selection (Itdb_Track *track)
@@ -2209,8 +2208,12 @@
       
       /* Select the cover in the coverart_display */
       GList *gl = g_list_first(new_entry->members);
-               Track *track = gl->data;
-               coverart_select_cover (track->album);
+      if (gl != NULL)
+      {
+                       Track *track = gl->data;
+                       if (track != NULL)
+                               coverart_select_cover (track->album);
+      }
   }
   
 #if DEBUG_TIMING

Index: misc_confirm.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/misc_confirm.c,v
retrieving revision 1.44.2.1
retrieving revision 1.44.2.2
diff -u -d -r1.44.2.1 -r1.44.2.2
--- misc_confirm.c      8 Feb 2007 00:25:42 -0000       1.44.2.1
+++ misc_confirm.c      12 Feb 2007 23:06:10 -0000      1.44.2.2
@@ -249,6 +249,9 @@
     /* should never happen */
     if (!dd->tracks)   delete_track_cancel (dd);
 
+               /* Deafen the coverart display while deletion is occurring */
+               coverart_block_change (TRUE);
+               
     /* nr of tracks to be deleted */
     n = g_list_length (dd->tracks);
     if (dd->itdb->usertype & GP_ITDB_TYPE_IPOD)
@@ -309,7 +312,9 @@
        gp_playlist_remove_track (dd->pl, l->data, dd->deleteaction);
     }
 
-               /* Update the coverart display and ensure it is sorted 
correctly */
+               /* Awaken coverart selection and update the 
+                * coverart display and ensure it is sorted correctly */
+               coverart_block_change (FALSE);
                coverart_set_images (dd->pl->members);
     g_list_free (dd->tracks);
     g_free (dd);

Index: display_coverart.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/Attic/display_coverart.h,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -d -r1.1.2.5 -r1.1.2.6
--- display_coverart.h  8 Feb 2007 00:25:42 -0000       1.1.2.5
+++ display_coverart.h  12 Feb 2007 23:06:10 -0000      1.1.2.6
@@ -32,7 +32,7 @@
        GPtrArray *cdcovers;
        GList *displaytracks;
        gint first_imgindex;
-       gboolean fire_display_change;
+       gboolean block_display_change;
 } CD_Widget;
 
 void init_default_file (gchar *progpath);
@@ -40,6 +40,7 @@
 void coverart_select_cover (gchar *album);
 void coverart_set_images (GList *tracks);
 void coverart_clear_images ();
+void coverart_block_change ();
 gint sort_tracks (Itdb_Track *a, Itdb_Track *b);
 
 #endif


-------------------------------------------------------------------------
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
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to