[Scummvm-git-logs] scummvm master -> c964ed2b0bc9c38ea4f73abe982dff144e36a331

antoniou79 antoniou at cti.gr
Fri Oct 11 21:09:00 CEST 2019


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c964ed2b0b ANDROID: Fix audio cd manager crash upon exit


Commit: c964ed2b0bc9c38ea4f73abe982dff144e36a331
    https://github.com/scummvm/scummvm/commit/c964ed2b0bc9c38ea4f73abe982dff144e36a331
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-10-11T21:49:18+03:00

Commit Message:
ANDROID: Fix audio cd manager crash upon exit

Changed paths:
    backends/platform/android/android.cpp


diff --git a/backends/platform/android/android.cpp b/backends/platform/android/android.cpp
index 7513639..59a3c5a 100644
--- a/backends/platform/android/android.cpp
+++ b/backends/platform/android/android.cpp
@@ -117,7 +117,18 @@ OSystem_Android::OSystem_Android(int audio_sample_rate, int audio_buffer_size) :
 
 OSystem_Android::~OSystem_Android() {
 	ENTER();
-
+	// _audiocdManager should be deleted before _mixer!
+	// It is normally deleted in proper order in the OSystem destructor.
+	// However, currently _mixer is deleted here (OSystem_Android)
+	// and in the ModularBackend destructor,
+	// hence unless _audiocdManager is deleted here first,
+	// it will cause a crash for the Android app (arm64 v8a) upon exit
+	// -- when the audio cd manager was actually used eg. audio cd test of the testbed
+	// FIXME: A more proper fix would probably be to:
+	//        - delete _mixer in the base class (OSystem) after _audiocdManager (this is already the current behavior)
+	//	      - remove its deletion from OSystem_Android and ModularBackend (this is what needs to be fixed).
+	delete _audiocdManager;
+	_audiocdManager = 0;
 	delete _mixer;
 	_mixer = 0;
 	delete _fsFactory;





More information about the Scummvm-git-logs mailing list