# HG changeset patch # User Matti Hamalainen # Date 1352279074 -7200 # Node ID 3012740d014c56bdb112d3ce548a0a3821024412 # Parent 0617f844ebdbc8f1567e991d84bd19cd1ab50b53 Add some NULL pointer checks in case the emulator engine backend didn't initialize and the user tries to play things anyway. diff -r 0617f844ebdb -r 3012740d014c src/xmms-sid.c --- a/src/xmms-sid.c Wed Nov 07 10:54:43 2012 +0200 +++ b/src/xmms-sid.c Wed Nov 07 11:04:34 2012 +0200 @@ -216,8 +216,11 @@ xs_tuneinfo_free(xs_status.tuneInfo); xs_status.tuneInfo = NULL; - xs_status.engine->plrDeleteSID(&xs_status); - xs_status.engine->plrClose(&xs_status); + if (xs_status.engine != NULL) + { + xs_status.engine->plrDeleteSID(&xs_status); + xs_status.engine->plrClose(&xs_status); + } xs_songlen_close(); xs_stil_close(); @@ -583,7 +586,9 @@ /* Free tune information */ XS_MUTEX_LOCK(xs_status); - xs_status.engine->plrDeleteSID(&xs_status); + if (xs_status.engine != NULL) + xs_status.engine->plrDeleteSID(&xs_status); + xs_tuneinfo_free(xs_status.tuneInfo); xs_status.tuneInfo = NULL; XS_MUTEX_UNLOCK(xs_status); @@ -881,6 +886,9 @@ { XSTuneInfo *info; + if (xs_status.engine == NULL) + return; + XS_MUTEX_LOCK(xs_status); /* Get tune information from emulation engine */