Index: /lang/c/sonydb/frontend.cpp
===================================================================
--- /lang/c/sonydb/frontend.cpp (revision 1760)
+++ /lang/c/sonydb/frontend.cpp (revision 1881)
@@ -740,9 +740,11 @@
 	};
 	gint n_drag_types = sizeof (drag_types) / sizeof (drag_types [0]);
+	bool detected = false;
 	SonyDb sonydb;
 
-	sonydb.detectPlayer();
-
 	gtk_init(&argc, &argv);
+
+	detected = sonydb.detectPlayer();
+
 	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 	gtk_window_set_title(GTK_WINDOW(window), "SonyDb");
@@ -832,5 +834,19 @@
 	gtk_widget_show_all(window);
 
-	rebuild_tree(treeview, &sonydb, true);
+	if (detected) {
+		rebuild_tree(treeview, &sonydb, true);
+	} else {
+		GtkWidget* error;
+		error  = gtk_message_dialog_new(
+			GTK_WINDOW(window),
+			(GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
+			GTK_MESSAGE_ERROR,
+			GTK_BUTTONS_OK,
+			"Can't detect devices!");
+		gtk_window_set_title(GTK_WINDOW(error), gtk_window_get_title(GTK_WINDOW(window)));
+		gint response = gtk_dialog_run(GTK_DIALOG(error));
+		gtk_widget_destroy(error);
+		return;
+	}
 
 	gtk_main();
Index: /lang/c/sonydb/Makefile.w32
===================================================================
--- /lang/c/sonydb/Makefile.w32 (revision 1834)
+++ /lang/c/sonydb/Makefile.w32 (revision 1881)
@@ -18,5 +18,5 @@
 
 gui : sonydb.obj images.h
-	cl -DID3LIB_LINKOPTION=3 -Iid3lib/include -DGUI $(GTK_CFLAGS) -c -GX frontend.cpp
+	cl -DID3LIB_LINKOPTION=1 -Iid3lib/include -DGUI $(GTK_CFLAGS) -c -GX -MD frontend.cpp
 	link /out:sonydb.exe sonydb.obj frontend.obj sonydb.res /libpath:id3lib id3lib.lib zlib.lib $(GTK_LDFLAGS) /nodefaultlib:libcmt
 
