В GTK / GLib / GObject у каждого класса есть макрос typecast (имя класса в верхнем регистре с подчеркиванием), который также проверяет, принадлежит ли объект запрошенному классу. Кроме того, большинство конструкторов в GTK возвращают GtkWidget *
указатели, поэтому вы должны их привести.
Любой из них будет работать:
1
GtkWidget *textview;
textview = gtk_text_view_new();
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
2
GtkTextView *textview;
textview = GTK_TEXT_VIEW(gtk_text_view_new());
buffer = gtk_text_view_get_buffer(textview);