changeset 760:f6a57c0656fa

Handle engine initialization failures a bit more .. "gracefully".
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 05 Nov 2012 20:03:14 +0200
parents 693594421516
children 641b7693fecc
files src/xmms-sid.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/xmms-sid.c	Mon Nov 05 19:06:21 2012 +0200
+++ b/src/xmms-sid.c	Mon Nov 05 20:03:14 2012 +0200
@@ -111,7 +111,8 @@
     xs_status.audioFormat = -1;
 
     /* Try to initialize emulator engine */
-    xs_init_emu_engine(&xs_cfg.playerEngine, &xs_status);
+    if (!xs_init_emu_engine(&xs_cfg.playerEngine, &xs_status))
+        xs_error("Could not initialize any emulator engine!\n");
 
     /* Get settings back, in case the chosen emulator backend changed them */
     xs_cfg.audioFrequency = xs_status.audioFrequency;
@@ -132,7 +133,6 @@
     if (xs_cfg.stilDBEnable && (xs_stil_init() != 0)) {
         xs_error("Error initializing STIL database!\n");
     }
-
 }
 
 
@@ -182,7 +182,8 @@
 gint xs_is_our_file(gchar *filename)
 {
     gchar *ext;
-    assert(xs_status.engine);
+    if (xs_status.engine == NULL)
+        return FALSE;
 
     /* Check the filename */
     if (filename == NULL)
@@ -455,7 +456,8 @@
  */
 void xs_play_file(gchar *filename)
 {
-    assert(xs_status.engine);
+    if (xs_status.engine == NULL)
+        return;
 
     XSDEBUG("play '%s'\n", filename);