changeset 677:f52f596dc0d8 trunk

[svn] - Working exception handling at no extra charge. Closes bugs #408, #409.
author nenolod
date Fri, 24 Feb 2006 23:16:06 -0800
parents 2561275dc71b
children 41ae3a48e202
files audacious/playback.c
diffstat 1 files changed, 10 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/audacious/playback.c	Fri Feb 24 22:50:55 2006 -0800
+++ b/audacious/playback.c	Fri Feb 24 23:16:06 2006 -0800
@@ -213,10 +213,14 @@
     if (cfg.random_skin_on_play)
         bmp_playback_set_random_skin();
 
-    if (!entry->decoder)
-	entry->decoder = input_check_file(entry->filename, FALSE);
-
-    if (!entry->decoder || !input_is_enabled(entry->decoder->filename))
+    /*
+     * This is slightly uglier than the original version, but should
+     * fix the "crash" issues as seen in 0.2 when dealing with this situation.
+     *  - nenolod
+     */
+    if (!entry->decoder && 
+	((entry->decoder = input_check_file(entry->filename, FALSE)) == NULL) ||
+        !input_is_enabled(entry->decoder->filename))
     {
         input_file_not_playable(entry->filename);
 
@@ -261,7 +265,8 @@
 
     /* FIXME WORKAROUND...that should work with all plugins
      * mute the volume, start playback again, do the seek, then pause again
-     * -Patrick Sudowe  */
+     * -Patrick Sudowe 
+     */
     if(ip_data.paused)
     {
 	restore_pause = TRUE;