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

mistydemeo noreply at scummvm.org
Sat Dec 16 04:35:08 UTC 2023


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:
e9358aa491 DIRECTOR: move AppleCD cleanup to mDispose


Commit: e9358aa4912bf61c81b5633afc445207bd03e5ce
    https://github.com/scummvm/scummvm/commit/e9358aa4912bf61c81b5633afc445207bd03e5ce
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2023-12-15T20:34:59-08:00

Commit Message:
DIRECTOR: move AppleCD cleanup to mDispose

Changed paths:
    engines/director/lingo/xlibs/applecdxobj.cpp
    engines/director/lingo/xlibs/applecdxobj.h


diff --git a/engines/director/lingo/xlibs/applecdxobj.cpp b/engines/director/lingo/xlibs/applecdxobj.cpp
index 1891a2fff2e..09c4db505a8 100644
--- a/engines/director/lingo/xlibs/applecdxobj.cpp
+++ b/engines/director/lingo/xlibs/applecdxobj.cpp
@@ -106,6 +106,7 @@ const char *AppleCDXObj::fileNames[] = {
 
 static MethodProto xlibMethods[] = {
 	{ "new",					AppleCDXObj::m_new,			0,	0,	300 },	// D3
+	{ "dispose",				AppleCDXObj::m_dispose,			0,	0,	300 },	// D3
 	{ "Service",				AppleCDXObj::m_service,		0,	0,	300 },	// D4
 	{ "Still",				AppleCDXObj::m_still,		0,	0,	300 },	// D3
 	{ "ReadStatus",				AppleCDXObj::m_readStatus,	0,	0,	300 },	// D3
@@ -153,14 +154,17 @@ AppleCDXObject::AppleCDXObject(ObjectType ObjectType) :Object<AppleCDXObject>("A
 	}
 }
 
-AppleCDXObject::~AppleCDXObject() {
-	delete _cue;
-}
-
 void AppleCDXObj::m_new(int nargs) {
 	g_lingo->push(g_lingo->_state->me);
 }
 
+void AppleCDXObj::m_dispose(int nargs) {
+	g_director->_system->getAudioCDManager()->stop();
+
+	AppleCDXObject *me = static_cast<AppleCDXObject *>(g_lingo->_state->me.u.obj);
+	delete me->_cue;
+}
+
 void AppleCDXObj::m_still(int nargs) {
 	g_director->_system->getAudioCDManager()->stop();
 }
diff --git a/engines/director/lingo/xlibs/applecdxobj.h b/engines/director/lingo/xlibs/applecdxobj.h
index ef86f435a5b..b62b942328b 100644
--- a/engines/director/lingo/xlibs/applecdxobj.h
+++ b/engines/director/lingo/xlibs/applecdxobj.h
@@ -31,7 +31,6 @@ namespace Director {
 class AppleCDXObject : public Object<AppleCDXObject> {
 public:
 	AppleCDXObject(ObjectType objType);
-	~AppleCDXObject() override;
 	int _inpoint;
 	int _outpoint;
 	// Instead of immediately returning values, methods which return
@@ -50,6 +49,7 @@ void open(int type);
 void close(int type);
 
 void m_new(int nargs);
+void m_dispose(int nargs);
 void m_still(int nargs);
 void m_service(int nargs);
 void m_readStatus(int nargs);




More information about the Scummvm-git-logs mailing list