IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

(perso:3121): Gtk-CRITICAL **: IA__gtk_style_detach: assertion `style->attach_count > 0' failed


Sujet :

GTK+ avec C & C++

  1. #21
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    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...

  2. #22
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    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:
    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 Tu transmets bien l'instance et le type de signal mais tu omets le ou les derniers paramètres.
    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);

  3. #23
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Bien vu Gerald ! Le signal destroy a pour prototype:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void user_function (GtkObject *object, gpointer user_data)
    Il faut donc passer en arguments:
    1. l'instance de l'objet auquel connecter le signal
    2. le nom du signal
    3. le paramètre correspondant au "gpointer data" de la callback ! C'est celui que troumad a oublié !
    4. 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.

  4. #24
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    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...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Gtk-CRITICAL erreur gtk_box_pack: assertion
    Par fab13 dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 08/06/2013, 14h36
  2. Gtk-CRITICAL **: gtk_text_buffer_emit_insert:
    Par cassignol dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 20/07/2009, 10h57
  3. erreur gtk critical
    Par muskachew dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 27/06/2009, 09h46
  4. (<unknown>:7854): Gtk-CRITICAL etc (Swing)
    Par rXpCH dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/10/2008, 14h59
  5. Problème de debuggage : Gtk-CRITICAL
    Par thibane dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 20/03/2007, 17h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo