void
add_button_clicked(GtkButton * widget, GtkTreeView * treeview){
printf("%s\n",G_OBJECT_TYPE_NAME(widget));
} // Prints GtkTreeView
В то время как стандартный сигнал GtkButton: clicked должен работать по этой причине (за самим виджетом следуют пользовательские данные) по какой-то причине, здесь был вызван обработчик поменянного сигнала, и два параметра смешаны.
Я мог бы просто немного перемешать код, чтобы обойти это, но я хотел бы докопаться до , почему это происходит, чтобы я мог исправить / предотвратить это.
Флажок «Смена поляны» снят, и я нигде не подключал сигнал вручную, поэтому не знаю, почему это происходит.
Редактировать: Хорошо, теперь это происходитко всем моим обратным вызовам, что является огромной огромной проблемой!Пожалуйста, помогите!
Редактировать: Эта «особенность», по-видимому, здесь, поэтому пользователи glade могут добавить объект glade к обратному вызову и напрямую обратиться к функции gtk, чтобы они могли, например, скрыть виджетбез необходимости писать ни одной строки кода.Я буду катиться с этим.