diff options
Diffstat (limited to 'src/gtkext/gtkdockstation.c')
-rw-r--r-- | src/gtkext/gtkdockstation.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/gtkext/gtkdockstation.c b/src/gtkext/gtkdockstation.c index 314467e..1757542 100644 --- a/src/gtkext/gtkdockstation.c +++ b/src/gtkext/gtkdockstation.c @@ -257,10 +257,9 @@ static gboolean gtk_dock_station_switch_panel(GtkNotebook *notebook, gpointer *p void gtk_dock_station_add_dockable(GtkDockStation *station, GtkDockable *dockable) { GtkWidget *widget; /* Composant GTK à intégrer */ - const char *caption; /* Nom à donner à l'onglet */ - const char *desc; /* Description à y associer */ + char *name; /* Nom à donner à l'onglet */ + char *desc; /* Description à y associer */ int max; /* Taille maximale des titres */ - char *str; /* Titre des prochaines fois */ GtkWidget *label; /* Etiquette d'onglet */ GtkNotebook *notebook; /* Autre version du composant */ @@ -280,7 +279,7 @@ void gtk_dock_station_add_dockable(GtkDockStation *station, GtkDockable *dockabl g_object_set_data(G_OBJECT(widget), "dockable", dockable); - caption = gtk_dockable_get_name(dockable); + name = gtk_dockable_get_name(dockable); desc = gtk_dockable_get_desc(dockable); /* Mise en place de la page */ @@ -288,9 +287,9 @@ void gtk_dock_station_add_dockable(GtkDockStation *station, GtkDockable *dockabl if (!g_generic_config_get_value(get_main_configuration(), MPK_ELLIPSIS_TAB, &max)) max = -1; - str = ellipsis(strdup(caption), max); - label = qck_create_label(NULL, NULL, str); - free(str); + name = ellipsis(name, max); + label = qck_create_label(NULL, NULL, name); + free(name); notebook = GTK_NOTEBOOK(station); @@ -302,6 +301,8 @@ void gtk_dock_station_add_dockable(GtkDockStation *station, GtkDockable *dockabl gtk_widget_set_tooltip_text(label, desc); + free(desc); + if (gtk_notebook_get_n_pages(notebook) > 1) g_signal_connect(notebook, "switch-page", G_CALLBACK(gtk_dock_station_switch_panel), station); |