Gtk Programmierung: GList in GtkList mit einer Funktion einfügen

Lord Kefir

Lord Kefir

König
Moin!

Spontan habe ich mich dazu entschlossen, ein kleineres Projekt mit Gtk zu implementieren. Jetzt habe ich auch schon ein Problem: ich möchte eine GList in eine GtkList einfügen - das sieht dann z.B. so aus:

Code:
GList *glist, *tmp;

if (dwrap.open (conn, &err)) {
	dwrap.admin.get_users (conn, &glist, &err);	
	tmp = glist;
	while (tmp) {
		list_item = gtk_list_item_new_with_label ((char*)tmp->data);
		gtk_container_add (GTK_CONTAINER (UserList), list_item);
		tmp = tmp->next;
	}
	g_list_free (glist);
	dwrap.close (conn);
}

'dwrap' ist eine Schnittstelle für Datenbanken - ich öffne die Verbindung, lasse mir eine Liste mit Benutzern generieren und füge die Liste bei Erfolg in die GtkList 'UserList' ein.

Jetzt möchte ich das Einfügen aber durch eine Funktion implementieren und scheiter elendig daran. Hat jemand vielleicht einen Hint, wie sich das am besten lösen lassen könnte? Ein mieser Versuch meinerseits sah z.B. in etwa so aus:

Code:
void gtk_create_list (GtkContainer *container, GList *glist) {
	GList *tmp = glist;
	GtkWidget *list_item;

	while (tmp) {
		list_item = gtk_list_item_new_with_label ((char*)glist->data);
		gtk_container_add (container, list_item);
		tmp = tmp->next;
	}
}

Das vermurkst mir aber irgendwie die Glist - ich denke also, dass es zu irgendwelchen Speicherzugriffsfehlern kommt.

Mfg, Lord Kefir
 
Okay - ich hatte schon den Verdacht, dass es an der Erzeugung der Liste liegen könnte, obwohl das Ergebis anscheinend korrekt war. Wie sich herausstellte, lag bei der entsprechenden Funktion tatsächlich ein Fehler vor.

Mfg, Lord Kefir
 
Zurück
Oben