Mercurial > audlegacy
changeset 3094:7fbe8ada95ca
Backed out changeset 7d33bbe11736
Since this change causes GUI freeze.
author | Yoshiki Yazawa <yaz@cc.rim.or.jp> |
---|---|
date | Tue, 17 Jul 2007 18:28:54 +0900 |
parents | 7d33bbe11736 |
children | 5a7dea5211f3 |
files | src/audacious/ui_main.c |
diffstat | 1 files changed, 22 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/audacious/ui_main.c Mon Jul 16 13:31:52 2007 -0500 +++ b/src/audacious/ui_main.c Tue Jul 17 18:28:54 2007 +0900 @@ -162,7 +162,10 @@ static gint mainwin_timeout_id; +G_LOCK_DEFINE_STATIC(mainwin_title); + static gboolean mainwin_force_redraw = FALSE; +static gchar *mainwin_title_text = NULL; static gboolean mainwin_info_text_locked = FALSE; static int ab_position_a = -1; @@ -679,8 +682,10 @@ void mainwin_set_song_title(const gchar * title) { - gchar *mainwin_title_text = make_mainwin_title(title); - gtk_window_set_title(GTK_WINDOW(mainwin), mainwin_title_text); + G_LOCK(mainwin_title); + g_free(mainwin_title_text); + mainwin_title_text = make_mainwin_title(title); + G_UNLOCK(mainwin_title); } static void @@ -928,7 +933,10 @@ return; /* clear title */ - mainwin_set_song_title(NULL); + G_LOCK(mainwin_title); + g_free(mainwin_title_text); + mainwin_title_text = NULL; + G_UNLOCK(mainwin_title); /* clear sampling parameters */ playback_set_sample_params(0, 0, 0); @@ -3102,6 +3110,17 @@ draw_equalizer_window(FALSE); draw_playlist_window(FALSE); + if (mainwin_title_text) { + G_LOCK(mainwin_title); + gtk_window_set_title(GTK_WINDOW(mainwin), mainwin_title_text); + g_free(mainwin_title_text); + mainwin_title_text = NULL; + G_UNLOCK(mainwin_title); + + mainwin_set_info_text(); + playlistwin_update_list(playlist_get_active()); + } + /* tristate buttons seek */ if ( seek_state != MAINWIN_SEEK_NIL ) {