diff options
author | 2011-05-14 19:15:34 +0200 | |
---|---|---|
committer | 2011-05-14 19:15:34 +0200 | |
commit | fe90e931d377c4025c86e67ae24b7f1b2dc35455 (patch) | |
tree | 59869c06d5d9c80c544cc2ca1f1e1d27936f9b3e /plugins | |
parent | 0c25d5c8b0f033476224d3567b64c8ae5f75836e (diff) | |
parent | f2f3e7d2811aa577320c9849ffc0b0ec79ff0371 (diff) |
Merge branch 'master' into i18n
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/converter/converter.c | 39 | ||||
-rw-r--r-- | plugins/converter/convgui.c | 5 | ||||
-rw-r--r-- | plugins/gtkui/ddbtabstrip.c | 14 | ||||
-rw-r--r-- | plugins/gtkui/gtkui.c | 17 | ||||
-rw-r--r-- | plugins/gtkui/mainplaylist.c | 7 | ||||
-rw-r--r-- | plugins/gtkui/search.c | 4 | ||||
-rw-r--r-- | plugins/sid/sidplay-libs/libsidplay/src/sidtune/SidTune.cpp | 2 | ||||
-rw-r--r-- | plugins/wildmidi/src/wildmidi_lib.c | 11 |
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; } |