-
Gtk+ et Windows7
Bonjour,
depuis quelques jours je teste mon programme Gtk+
sous win7 et j'ai constaté un problème à l'exécution que je
suis pour le moment incapable de résoudre.
Lors de la fermeture de fenêtres de mon programme avec la croix
rouge en haut à droite de la fenêtre les widgets sont tous détruits
et il m'est impossible de faire revenir cette fenêtre sans relancer entièrement le programme.
J'ai associé un 'gtk_widget_hide' au signal 'delete event' de ma fenêtre,
et bien que cela fonctionne pour tous les autres OS (linux, Mac, Win XP et Vista)
Windows 7 ne semble pas gérer les signaux de la même façon ....
quelqu'un aurait il une idée pour m'aider ?
Merci d'avance pour vos lumières.
-
Pourrais tu nous mettre au moins le code du la callback associée au signal et le passage où tu connectes ce même signal ? Tu peux aussi directement utiliser gtk_widget_hide_on_delete.
-
Re,
merci pour ta réponse, je n'ai pas écris de code pour ce
callback, celui-ci dépends d'une part de l'interface graphique
créée sous glade puis exportée par gtk-builder-convert.
Dans glade j'associe au signal "Gtk-Widget -> delete event",
la fonction "gtk-widget-hide" et je donne le nom du widget en
argument.
Tout cela fonctionne normalement parfaitement.
J'ai de mon côté avancé vers une solution durable, le problème
semble venir d'un conflit 32/64 bit.
Le win7 dont je dispose est 64bit, je travaillais dessus avec tout les outils 32bits
proprement installés mais sans bon résultats.
Depuis je me suis décarcassé pour trouver les mêmes outils (GTK+-64 et MinGW-64)
et les dépendances de mon programme en 64bits,
j'ai réussi à compiler puis exécuter mon programme sans les erreurs dont je parle
dans mon premier message.
Je suis ouvert à d'autres idées bien évidement.
-
Tu as beau appeler gtk_widget_hide, cette fonction n'a pas la même signature que la callback du signal GtkWidget::delete-event. Tu dois créer une callback respectant cete signature et dans cette callbacke appeller gtk_widget_hide. L'autre solution étant comme je te l'ai dit d'appeler gtk_widget_hide_on_delete qui respecte cette signature.
-
Effectivement le gtk_widget_hide_on_delete fonctionne parfaitement merci !
-
Au passage, glade est capable d'enregistrer au format gtkbuilder en natif depuis quelques versions déjà...
-
Je sais bien, j'ai mes petites habitudes c'est tout ;)