diff src/audacious/playlist.c @ 2614:deb09bfd716b trunk

[svn] - now sort by track number and sort by title work even if on display metadata loading is specified.
author yaz
date Thu, 08 Mar 2007 18:33:20 -0800
parents 48288757d7c7
children c079e507869a
line wrap: on
line diff
--- a/src/audacious/playlist.c	Wed Mar 07 16:26:51 2007 -0800
+++ b/src/audacious/playlist.c	Thu Mar 08 18:33:20 2007 -0800
@@ -1926,10 +1926,16 @@
     g_return_val_if_fail(a != NULL, 0);
     g_return_val_if_fail(b != NULL, 0);
 
+    if(!a->tuple)
+        playlist_entry_get_info(a);
+    if(!b->tuple)
+        playlist_entry_get_info(b);
+
     g_return_val_if_fail(a->tuple != NULL, 0);
     g_return_val_if_fail(b->tuple != NULL, 0);
 
-    return (a->tuple->track_number - b->tuple->track_number);
+    return (a->tuple->track_number && b->tuple->track_number ?
+	    a->tuple->track_number - b->tuple->track_number : 0);
 }
 
 static gint
@@ -1971,6 +1977,11 @@
     g_return_val_if_fail(a != NULL, 0);
     g_return_val_if_fail(b != NULL, 0);
 
+    if(!a->tuple)
+        playlist_entry_get_info(a);
+    if(!b->tuple)
+        playlist_entry_get_info(b);
+
     if (a->tuple != NULL && a->tuple->track_name != NULL)
         a_title = a->tuple->track_name;
     if (b->tuple != NULL && b->tuple->track_name != NULL)