Y aurait-il un subtilité aux fonctions g_signal_connect/G_CALLBACK ?
Bonjour,
Je suis étudiant en informatique, (en vacances mais) j'ai décidé d'apprendre à utiliser GTK.
J'ai une erreure qui me semble "louche".
Je crée une fenêtre contenant un boutton sensé ouvrir une seconde fenêtre.
Pour plus de clarté j'ai fais une structure :
Code:
1 2 3 4 5 6 7 8 9 10
|
struct _Window
{
GtkWidget *window;
GtkWidget *table;
GtkWidget *label;
GtkWidget *button;
GtkWidget *entry;
};
typedef struct _Window Window; |
Mais
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
/* ... */
int main(int argc, char **argv)
{
/* ... */
maFenetreSecondaire = g_malloc(sizeof(Window));
initWindow((gpointer) maFenetreSecondaire); // Fonction de ma confection
maFenetrePrincipale = g_malloc(sizeof(Window));
initWindow((gpointer) maFenetrePrincipale);
/* ... */
g_signal_connect(G_OBJECT(monBoutton), "clicked",
G_CALLBACK(popUp), (gpointer)maFenetreSecondaire);
/* ... */
gtk_widget_show_all(maFenetrePrincipale -> window);
gtk_main();
return EXIT_SUCCESS;
} |
Ce qui me retourne l'erreur suivante :
Citation:
Gtk-CRITICAL **: gtk_widget_show_all: assertion `GTK_IS_WIDGET (widget)' failed
Alors que si je mets :
Code:
1 2
|
gtk_widget_show_all(maFenetreSecondaire -> window); |
ou
Code:
1 2
|
popUp((gpointer)maFenetreSecondaire); |
Ce qui est sensé être fait au "click", gela ne me retourne pas d'erreur !
Auriez vous une idée ?
Merci!