[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdemultimedia/kmix
From: Christian Esken <esken () kde ! org>
Date: 2005-04-19 21:14:05
Message-ID: 20050419211405.4EBEC5FA () office ! kde ! org
[Download RAW message or body]
CVS commit by esken:
Move list of mixers to Mixer class (where it belongs).
Use release() in the destructor to close a small memory leak.
M +27 -0 mixer.cpp 1.92
M +4 -1 mixer.h 1.57
--- kdemultimedia/kmix/mixer.cpp #1.91:1.92
@@ -38,4 +38,9 @@
*/
+// !! Warning: Don't commit with "KMIX_DCOP_OBJID_TEST" #define'd (cesken)
+#undef KMIX_DCOP_OBJID_TEST
+int Mixer::_dcopID = 0;
+
+QPtrList<Mixer> Mixer::s_mixers;
int Mixer::getDriverNum()
@@ -52,4 +57,13 @@ int Mixer::getDriverNum()
}
+/*
+ * Returns a reference of the current mixer list.
+ */
+QPtrList<Mixer>& Mixer::mixers()
+{
+ return s_mixers;
+}
+
+
Mixer::Mixer( int device, int card ) : DCOPObject( "Mixer" )
{
@@ -57,4 +71,5 @@ Mixer::Mixer( int device, int card ) : D
m_cardnum = card;
m_masterDevice = 0;
+ _pollingTimer = 0;
m_isOpen = false;
@@ -71,7 +86,19 @@ Mixer::Mixer( int device, int card ) : D
QCString objid;
+#ifndef KMIX_DCOP_OBJID_TEST
objid.setNum(m_devnum);
+#else
+ objid.setNum(Mixer::_dcopID);
+ Mixer::_dcopID ++; // !!! Change this before commiting !!!
+#endif
objid.prepend("Mixer");
DCOPObject::setObjId( objid );
+
+}
+
+Mixer::~Mixer() {
+ // Release Mixer. This might also free memory, depending on the called backend method
+ release();
+ delete _pollingTimer;
}
--- kdemultimedia/kmix/mixer.h #1.56:1.57
@@ -50,5 +50,5 @@ class Mixer : public QObject, virtual pu
Mixer( int device = -1, int card = -1 );
- virtual ~Mixer() {};
+ virtual ~Mixer();
/// Static function. This function must be overloaded by any derived mixer class
@@ -190,10 +190,13 @@ class Mixer : public QObject, virtual pu
QPtrList<MixSet> m_profiles;
+ static QPtrList<Mixer> s_mixers;
public:
int setupMixer( MixSet set );
+ static QPtrList<Mixer>& mixers();
private:
mutable bool _readSetFromHWforceUpdate;
+ static int _dcopID;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic