[Scummvm-git-logs] scummvm branch-2-8 -> 3a32f8995a3b3e60b4ac5c56a3049af6cd04747d
mistydemeo
noreply at scummvm.org
Sat Dec 16 04:34:54 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:
3a32f8995a DIRECTOR: move AppleCD cleanup to mDispose
Commit: 3a32f8995a3b3e60b4ac5c56a3049af6cd04747d
https://github.com/scummvm/scummvm/commit/3a32f8995a3b3e60b4ac5c56a3049af6cd04747d
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2023-12-15T20:34:42-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