summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/gtkui/ddblistview.c19
-rw-r--r--plugins/gtkui/gtkui.c9
-rw-r--r--plugins/gtkui/gtkui.h1
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;