Tworzenie okna-popup'a

0

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

0

Spróbuj dopisać "struct" tak jak jest poniżej

int nowe_okno(struct GtkWidget *widget, struct GtkWidget* nowe_okno){
        gtk_widget_show_all(nowe_okno);
} 

1 użytkowników online, w tym zalogowanych: 0, gości: 1