# HG changeset patch # User Matti Hamalainen # Date 1352138594 -7200 # Node ID f6a57c0656fa9313f83efdc867f32b6c1c611c0e # Parent 6935944215167743697b128ad7750fc093faeac8 Handle engine initialization failures a bit more .. "gracefully". diff -r 693594421516 -r f6a57c0656fa src/xmms-sid.c --- 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);