Доброго времени суток ЛОР. Опять возникли проблемы в С/gtk+ приложении и опять GTK_IS_WINDOW (window)' failed. На этот раз пытаюс поменять заголовок главного окна в зависимости от загруженного файла.
Функция обновления заголовка:
void update_title(const char *filename, MainWin* mw )
{
GtkButton* btn = gtk_button_new();
static char fname[50];
if(filename != NULL)
{
strncpy(fname, filename, 49);
fname[49] = '\0';
}
A param;
param.mw = (GtkWindow*)mw;
param.fname = "ASD";
gtk_window_set_title(GTK_WINDOW(mw), fname);
g_signal_connect(btn, "clicked", G_CALLBACK(gtk_window_set_title), ¶m);
}
Где A - структура для передачи параметров в gtk_window_set_title:
typedef struct _a
{
MainWin* mw;
char *fname;
}A;
Когда вызываю функцию заголовок окна не изменяется и вылазит ошибка:Gtk-CRITICAL **: gtk_window_set_title: assertion `GTK_IS_WINDOW (window)' failed
Спасибо