diff options
-rw-r--r-- | plugins/gtkui/ddblistview.c | 19 | ||||
-rw-r--r-- | plugins/gtkui/gtkui.c | 9 | ||||
-rw-r--r-- | plugins/gtkui/gtkui.h | 1 |
3 files changed, 21 insertions, 8 deletions
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c index 04bb8ae1..38b23589 100644 --- a/plugins/gtkui/ddblistview.c +++ b/plugins/gtkui/ddblistview.c @@ -2355,16 +2355,19 @@ ddb_listview_header_configure_event (GtkWidget *widget, gtk_widget_set_size_request (widget, -1, height); } - if (ps->header_width == 0) { - ps->header_width = a.width; + if (gtkui_init_complete) { + if (ps->header_width != a.width && deadbeef->conf_get_int ("gtkui.autoresize_columns", 0)) { + float ratio = (float)a.width / ps->header_width; + ps->header_width = a.width; + struct _DdbListviewColumn *c; + for (c = ps->columns; c; c = c->next) { + c->width *= ratio; + } + ps->binding->columns_changed (ps); + } } - else if (ps->header_width != a.width && deadbeef->conf_get_int ("gtkui.autoresize_columns", 0)) { - float ratio = (float)a.width / ps->header_width; + else { ps->header_width = a.width; - struct _DdbListviewColumn *c; - for (c = ps->columns; c; c = c->next) { - c->width *= ratio; - } } return FALSE; diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c index d4647e7e..4eb96eec 100644 --- a/plugins/gtkui/gtkui.c +++ b/plugins/gtkui/gtkui.c @@ -73,6 +73,7 @@ GtkWidget *theme_treeview; GtkWidget *theme_button; int gtkui_embolden_current_track; +int gtkui_init_complete; #define TRAY_ICON "deadbeef_tray_icon" @@ -1060,6 +1061,12 @@ smclient_save_state (EggSMClient *client, const char *state_dir, gpointer user_d } #endif +gboolean +gtkui_init_complete_cb (void *ctx) { + gtkui_init_complete = 1; + return FALSE; +} + void gtkui_thread (void *ctx) { int argc = 2; @@ -1178,6 +1185,8 @@ gtkui_thread (void *ctx) { gtk_window_set_title (GTK_WINDOW (mainwin), str); gtk_initialized = 1; + g_idle_add (gtkui_init_complete_cb, NULL); + gtk_main (); if (refresh_timeout) { diff --git a/plugins/gtkui/gtkui.h b/plugins/gtkui/gtkui.h index 0f764901..0945291e 100644 --- a/plugins/gtkui/gtkui.h +++ b/plugins/gtkui/gtkui.h @@ -35,6 +35,7 @@ extern DB_functions_t *deadbeef; extern GtkWidget *mainwin; extern GtkWidget *searchwin; extern int gtkui_embolden_current_track; +extern int gtkui_init_complete; struct _GSList; |