Merci
Je pense avoir résolu mes warning en changeant tous mes g_signal_emit_by_name (((GtkWidget **)param)[FENETRE],"destroy"); :
Mais... Pourquoi !
Merci
Je pense avoir résolu mes warning en changeant tous mes g_signal_emit_by_name (((GtkWidget **)param)[FENETRE],"destroy"); :
Mais... Pourquoi !
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Comme je n'aime pas laisser une question sans réponse j'avance une possibilité.
Au regard de la documentation il semblerait que tu ais oublié un paramètre. Je m'explique. La documentation dit:Donc Tu transmets bien l'instance et le type de signal mais tu omets le ou les derniers paramètres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void g_signal_emit_by_name (gpointer instance, const gchar *detailed_signal, ...); Emits a signal. Note that g_signal_emit_by_name() resets the return value to the default if no handlers are connected, in contrast to g_signal_emitv(). instance*: the instance the signal is being emitted on. detailed_signal*: a string of the form "signal-name::detail". ...*: parameters to be passed to the signal, followed by a location for the return value. If the return type of the signal is G_TYPE_NONE, the return value location can be omitted.
Donc il me semble qu'il faut ajouter les paramètres à passer au signal. Si le callback attaché à "destroy" ne renvoie rien on peut omettre le dernier.
En admettant que le signal "destroy" ne demande pas de paramètres j'écrirai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part g_signal_emit_by_name (((GtkWidget **)param)[FENETRE],"destroy", NULL);
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Bien vu Gerald ! Le signal destroy a pour prototype:
Il faut donc passer en arguments:
Code : Sélectionner tout - Visualiser dans une fenêtre à part void user_function (GtkObject *object, gpointer user_data)
- l'instance de l'objet auquel connecter le signal
- le nom du signal
- le paramètre correspondant au "gpointer data" de la callback ! C'est celui que troumad a oublié !
- et c'est tout. Puisque le signal renvoie void, pas besoin de transmettre une l'adresse d'une variable où mettre la valeur de retour.
Merci !
Je problème vient donc aussi de mon niveau d'anglais![]()
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Partager