Index: audacious/playlist_container.c
===================================================================
--- audacious/playlist_container.c	(revision 2144)
+++ audacious/playlist_container.c	(working copy)
@@ -20,6 +20,8 @@
 
 #include <glib.h>
 #include <string.h>
+#include <libaudacious/util.h>
+#include <glib/gi18n.h>
 #include "playlist_container.h"
 
 /*
@@ -43,17 +45,31 @@
 {
 	GList *node;
 	PlaylistContainer *plc;
+	static GtkWidget *dialog;
 
 	/* check ext neither is NULL nor 1 (in a consequence of optimization). */
-	g_return_val_if_fail(ext != NULL && ext != (void *)1, NULL);
+	if (ext == NULL || ext == (void *)1) {
+		for (node = registered_plcs; node != NULL; node = g_list_next(node)) {
+			plc = PLAYLIST_CONTAINER(node->data);
 
-	for (node = registered_plcs; node != NULL; node = g_list_next(node)) {
-		plc = PLAYLIST_CONTAINER(node->data);
-
-		if (!g_strcasecmp(plc->ext, ext))
-			return plc;
+			if (!g_strcasecmp(plc->ext, ext))
+				return plc;
+		}
 	}
 
+	if (dialog != NULL)
+		return NULL;
+	
+	dialog = xmms_show_message(
+		_("Unknown fileformat"),
+		_("Audacious were unable to load the requested playlist.\n"
+		  "Reason: Could not identify fileformat."),
+		_("OK"), FALSE, NULL, NULL);
+	gtk_signal_connect(GTK_OBJECT(dialog), "destroy",
+			   GTK_SIGNAL_FUNC(gtk_widget_destroyed),
+			   &dialog);
+
+
 	return NULL;
 }
 

