summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-05-14 19:15:34 +0200
committerGravatar waker <wakeroid@gmail.com>2011-05-14 19:15:34 +0200
commitfe90e931d377c4025c86e67ae24b7f1b2dc35455 (patch)
tree59869c06d5d9c80c544cc2ca1f1e1d27936f9b3e /plugins
parent0c25d5c8b0f033476224d3567b64c8ae5f75836e (diff)
parentf2f3e7d2811aa577320c9849ffc0b0ec79ff0371 (diff)
Merge branch 'master' into i18n
Diffstat (limited to 'plugins')
-rw-r--r--plugins/converter/converter.c39
-rw-r--r--plugins/converter/convgui.c5
-rw-r--r--plugins/gtkui/ddbtabstrip.c14
-rw-r--r--plugins/gtkui/gtkui.c17
-rw-r--r--plugins/gtkui/mainplaylist.c7
-rw-r--r--plugins/gtkui/search.c4
-rw-r--r--plugins/sid/sidplay-libs/libsidplay/src/sidtune/SidTune.cpp2
-rw-r--r--plugins/wildmidi/src/wildmidi_lib.c11
8 files changed, 87 insertions, 12 deletions
diff --git a/plugins/converter/converter.c b/plugins/converter/converter.c
index c16fb2b4..e8047376 100644
--- a/plugins/converter/converter.c
+++ b/plugins/converter/converter.c
@@ -511,6 +511,26 @@ load_encoder_presets (void) {
return 0;
}
+void
+free_encoder_presets (void) {
+ ddb_encoder_preset_t *p = encoder_presets;
+ while (p) {
+ ddb_encoder_preset_t *next = p->next;
+ if (p->title) {
+ free (p->title);
+ }
+ if (p->ext) {
+ free (p->ext);
+ }
+ if (p->encoder) {
+ free (p->encoder);
+ }
+ free (p);
+ p = next;
+ }
+ encoder_presets = NULL;
+}
+
int
load_dsp_presets (void) {
ddb_dsp_preset_t *tail = NULL;
@@ -541,6 +561,23 @@ load_dsp_presets (void) {
return 0;
}
+void
+free_dsp_presets (void) {
+ ddb_dsp_preset_t *p = dsp_presets;
+ while (p) {
+ ddb_dsp_preset_t *next = p->next;
+ if (p->title) {
+ free (p->title);
+ }
+ if (p->chain) {
+ deadbeef->dsp_preset_free (p->chain);
+ }
+ free (p);
+ p = next;
+ }
+ dsp_presets = NULL;
+}
+
ddb_dsp_preset_t *
dsp_preset_get_for_idx (int idx) {
ddb_dsp_preset_t *p = dsp_presets;
@@ -947,6 +984,8 @@ converter_start (void) {
int
converter_stop (void) {
+ free_encoder_presets ();
+ free_dsp_presets ();
return 0;
}
diff --git a/plugins/converter/convgui.c b/plugins/converter/convgui.c
index 896cfbc2..a3f60eab 100644
--- a/plugins/converter/convgui.c
+++ b/plugins/converter/convgui.c
@@ -21,6 +21,7 @@
#include <assert.h>
#include <sys/stat.h>
#include <dirent.h>
+#include <unistd.h>
#include "converter.h"
#include "support.h"
#include "interface.h"
@@ -1229,7 +1230,7 @@ GtkWidget*
title_formatting_help_link_create (gchar *widget_name, gchar *string1, gchar *string2,
gint int1, gint int2)
{
- GtkWidget *link = gtk_link_button_new_with_label ("http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting", "Help");
+ GtkWidget *link = gtk_link_button_new_with_label ("http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting", _("Help"));
return link;
}
@@ -1237,7 +1238,7 @@ GtkWidget*
encoder_cmdline_help_link_create (gchar *widget_name, gchar *string1, gchar *string2,
gint int1, gint int2)
{
- GtkWidget *link = gtk_link_button_new_with_label ("http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Encoder_Command_Line", "Help");
+ GtkWidget *link = gtk_link_button_new_with_label ("http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Encoder_Command_Line", _("Help"));
return link;
}
diff --git a/plugins/gtkui/ddbtabstrip.c b/plugins/gtkui/ddbtabstrip.c
index f40c1ade..f8f3e6c4 100644
--- a/plugins/gtkui/ddbtabstrip.c
+++ b/plugins/gtkui/ddbtabstrip.c
@@ -47,10 +47,9 @@ plt_get_title_wrapper (int plt, char *buffer, int len) {
strcpy (buffer, "");
return;
}
- deadbeef->pl_lock ();
- void *p = deadbeef->plt_get_for_idx (plt);
+ ddb_playlist_t *p = deadbeef->plt_get_for_idx (plt);
deadbeef->plt_get_title (p, buffer, len);
- deadbeef->pl_unlock ();
+ deadbeef->plt_unref (p);
char *end;
if (!g_utf8_validate (buffer, -1, (const gchar **)&end)) {
*end = 0;
@@ -357,8 +356,9 @@ ddb_tabstrip_draw_tab (GtkWidget *widget, GdkDrawable *drawable, int idx, int se
GdkColor clr;
int fallback = 1;
deadbeef->pl_lock ();
- void *plt = deadbeef->plt_get_for_idx (idx);
+ ddb_playlist_t *plt = deadbeef->plt_get_for_idx (idx);
const char *bgclr = deadbeef->plt_find_meta (plt, "gui.bgcolor");
+ deadbeef->plt_unref (plt);
if (bgclr) {
int r, g, b;
if (3 == sscanf (bgclr, "%02x%02x%02x", &r, &g, &b)) {
@@ -495,7 +495,7 @@ set_tab_text_color (int idx, int selected) {
return;
}
deadbeef->pl_lock ();
- void *plt = deadbeef->plt_get_for_idx (idx);
+ ddb_playlist_t *plt = deadbeef->plt_get_for_idx (idx);
int fallback = 1;
const char *clr = deadbeef->plt_find_meta (plt, "gui.color");
if (clr) {
@@ -506,6 +506,7 @@ set_tab_text_color (int idx, int selected) {
draw_set_fg_color (fg);
}
}
+ deadbeef->plt_unref (plt);
if (fallback) {
GdkColor color;
gtkui_get_tabstrip_text_color (&color);
@@ -697,8 +698,9 @@ on_rename_playlist1_activate (GtkMenuItem *menuitem,
if (res == GTK_RESPONSE_OK) {
const char *text = gtk_entry_get_text (GTK_ENTRY (e));
deadbeef->pl_lock ();
- void *p = deadbeef->plt_get_for_idx (tab_clicked);
+ ddb_playlist_t *p = deadbeef->plt_get_for_idx (tab_clicked);
deadbeef->plt_set_title (p, text);
+ deadbeef->plt_unref (p);
deadbeef->pl_unlock ();
}
gtk_widget_destroy (dlg);
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index f72c5165..62c0b8fd 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -915,8 +915,9 @@ gtkui_add_new_playlist (void) {
deadbeef->pl_lock ();
for (i = 0; i < cnt; i++) {
char t[100];
- void *plt = deadbeef->plt_get_for_idx (i);
+ ddb_playlist_t *plt = deadbeef->plt_get_for_idx (i);
deadbeef->plt_get_title (plt, t, sizeof (t));
+ deadbeef->plt_unref (plt);
if (!strcasecmp (t, name)) {
break;
}
@@ -1111,8 +1112,18 @@ gtkui_thread (void *ctx) {
progress_destroy ();
gtkui_hide_status_icon ();
draw_free ();
- gtk_widget_destroy (mainwin);
- gtk_widget_destroy (searchwin);
+ if (theme_treeview) {
+ gtk_widget_destroy (theme_treeview);
+ theme_treeview = NULL;
+ }
+ if (mainwin) {
+ gtk_widget_destroy (mainwin);
+ mainwin = NULL;
+ }
+ if (searchwin) {
+ gtk_widget_destroy (searchwin);
+ searchwin = NULL;
+ }
gdk_threads_leave ();
}
diff --git a/plugins/gtkui/mainplaylist.c b/plugins/gtkui/mainplaylist.c
index 12ec24cf..f04f9cb1 100644
--- a/plugins/gtkui/mainplaylist.c
+++ b/plugins/gtkui/mainplaylist.c
@@ -234,6 +234,10 @@ main_column_size_changed (DdbListview *listview, int col) {
void main_col_free_user_data (void *data) {
if (data) {
+ col_info_t *inf = data;
+ if (inf->format) {
+ free (inf->format);
+ }
free (data);
}
}
@@ -336,6 +340,9 @@ main_playlist_init (GtkWidget *widget) {
void
main_playlist_free (void) {
+ g_object_unref (play16_pixbuf);
+ g_object_unref (pause16_pixbuf);
+ g_object_unref (buffering16_pixbuf);
}
void
diff --git a/plugins/gtkui/search.c b/plugins/gtkui/search.c
index d71b4cef..e3d46819 100644
--- a/plugins/gtkui/search.c
+++ b/plugins/gtkui/search.c
@@ -306,6 +306,10 @@ search_column_size_changed (DdbListview *listview, int col) {
void search_col_free_user_data (void *data) {
if (data) {
+ col_info_t *inf = data;
+ if (inf->format) {
+ free (inf->format);
+ }
free (data);
}
}
diff --git a/plugins/sid/sidplay-libs/libsidplay/src/sidtune/SidTune.cpp b/plugins/sid/sidplay-libs/libsidplay/src/sidtune/SidTune.cpp
index fdbd64e1..560f691a 100644
--- a/plugins/sid/sidplay-libs/libsidplay/src/sidtune/SidTune.cpp
+++ b/plugins/sid/sidplay-libs/libsidplay/src/sidtune/SidTune.cpp
@@ -25,7 +25,7 @@
#include "sidendian.h"
#include "PP20.h"
#include <stdio.h>
-#include "../../../../../../../deadbeef.h"
+#include "../../../../../../deadbeef.h"
#ifdef HAVE_EXCEPTIONS
# include <new>
diff --git a/plugins/wildmidi/src/wildmidi_lib.c b/plugins/wildmidi/src/wildmidi_lib.c
index 1096ebe6..97912c50 100644
--- a/plugins/wildmidi/src/wildmidi_lib.c
+++ b/plugins/wildmidi/src/wildmidi_lib.c
@@ -383,6 +383,16 @@ void init_gauss (void) {
}
}
+void
+free_gauss (void) {
+ for (int i = 0; i < (1<<10); i++) {
+ if (gauss_table[i]) {
+ free (gauss_table[i]);
+ }
+ gauss_table[i] = NULL;
+ }
+}
+
unsigned long int delay_size[4][2];
signed long int a[5][2];
signed long int b[5][2];
@@ -5074,6 +5084,7 @@ WildMidi_Shutdown ( void ) {
}
}
WM_FreePatches();
+ free_gauss ();
WM_Initialized = 0;
return 0;
}