# HG changeset patch # User nenolod # Date 1140851766 28800 # Node ID f52f596dc0d8fb18efd3f8d06c2b205f731a255d # Parent 2561275dc71b646bb23b43df80d7dbafde95d14c [svn] - Working exception handling at no extra charge. Closes bugs #408, #409. diff -r 2561275dc71b -r f52f596dc0d8 audacious/playback.c --- 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;