Witam,
piszę program w C, który ma za zadanie wyświetlić nowe okno po kliknięciu w button. Najważniejsze funkcje funkcji main() wyglądają tak:
// okno, które ma zostać wyświetlone
okno2 = gtk_window_new( GTK_WINDOW_TOPLEVEL );
gtk_window_set_default_size( GTK_WINDOW(okno2), 200, 100);
gtk_window_set_title( GTK_WINDOW( okno2 ), "Pop up" );
gtk_window_set_position( GTK_WINDOW( okno2 ), GTK_WIN_POS_CENTER );
...
// zdarzenie kliknięcia na button
g_signal_connect( G_OBJECT( przycisk2 ), "clicked", G_CALLBACK( nowe_okno ), &okno2 );
A funkcja nowe_okno() prezentuje się następująco:
int nowe_okno(GtkWidget *widget, GtkWidget* nowe_okno){
gtk_widget_show_all(nowe_okno);
}
Po każdym kliknięciu w przycisk dostaję komunikat z Terminala:
(pop_up:8472): Gtk-CRITICAL **: IA__gtk_widget_show_all: assertion `GTK_IS_WIDGET (widget)' failed
Gdy jednak w nowe_okno() użyję wskaźnika:
gtk_widget_show_all(*nowe_okno);
otrzymuje komunikat głoszący:
error: incompatible type for argument 1 of ‘gtk_widget_show_all’
/usr/include/gtk-2.0/gtk/gtkwidget.h note: expected ‘struct GtkWidget *’ but argument is of type ‘GtkWidget’
Co moglicyście doradzić? Pozdrawiam