Fix a few memory leaks

This commit is contained in:
David Sansome 2010-05-28 19:51:51 +00:00
parent 2c9a29e226
commit 3365c7c217
6 changed files with 13 additions and 9 deletions

View File

@ -96,6 +96,10 @@ Player::Player(PlaylistManager* playlists, LastFMService* lastfm,
#endif
}
Player::~Player() {
delete engine_;
}
EngineBase* Player::createEngine(Engine::Type engine) {
switch(engine) {

View File

@ -54,6 +54,7 @@ class Player : public QObject {
public:
Player(PlaylistManager* playlists, LastFMService* lastfm, Engine::Type engine,
QObject* parent = 0);
~Player();
EngineBase* createEngine(Engine::Type engine);
void Init();

View File

@ -609,20 +609,21 @@ GstEngine::PluginDetailsList
PluginDetailsList ret;
GstRegistry* registry = gst_registry_get_default();
GList* features =
GList* const features =
gst_registry_get_feature_list(registry, GST_TYPE_ELEMENT_FACTORY);
while (features) {
GstElementFactory* factory = GST_ELEMENT_FACTORY(features->data);
GList* p = features;
while (p) {
GstElementFactory* factory = GST_ELEMENT_FACTORY(p->data);
if (QString(factory->details.klass).contains(classname)) {
PluginDetails details;
details.name = QString::fromUtf8(GST_PLUGIN_FEATURE_NAME(features->data));
details.name = QString::fromUtf8(GST_PLUGIN_FEATURE_NAME(p->data));
details.long_name = QString::fromUtf8(factory->details.longname);
details.description = QString::fromUtf8(factory->details.description);
details.author = QString::fromUtf8(factory->details.author);
ret << details;
}
features = g_list_next ( features );
p = g_list_next(p);
}
gst_plugin_feature_list_free(features);

View File

@ -23,7 +23,8 @@ const char* Library::kDirsTable = "directories";
const char* Library::kSubdirsTable = "subdirectories";
Library::Library(Database *db, QObject *parent)
: backend_(new LibraryBackend(db, kSongsTable, kDirsTable, kSubdirsTable, this)),
: QObject(parent),
backend_(new LibraryBackend(db, kSongsTable, kDirsTable, kSubdirsTable, this)),
model_(new LibraryModel(backend_, parent)),
watcher_factory_(new BackgroundThreadFactoryImplementation<LibraryWatcher, LibraryWatcher>),
watcher_(NULL)

View File

@ -36,8 +36,6 @@ SystemTrayIcon::SystemTrayIcon(QObject* parent)
#endif
}
SystemTrayIcon::~SystemTrayIcon() {}
bool SystemTrayIcon::event(QEvent* event) {
if (event->type() == QEvent::Wheel) {
emit WheelEvent(static_cast<QWheelEvent*>(event)->delta());

View File

@ -24,7 +24,6 @@ class SystemTrayIcon : public QSystemTrayIcon {
public:
SystemTrayIcon(QObject* parent = 0);
virtual ~SystemTrayIcon();
virtual bool event(QEvent* event);