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 :

erreur g_param_value_set_default à l'écriture du label d'un GtkButton


Sujet :

GTK+ avec C & C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Points : 53
    Points
    53
    Par défaut erreur g_param_value_set_default à l'écriture du label d'un GtkButton
    Bien le bonjour,

    Je bosse en C++ (du moins j'essai, encore beaucoup de progrés à faire) avec la lib gtk3

    lorsque je veux changer le label d'un GtkButton par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p_new_mesure_button->set_label("STOP");
    il m'arrive d'avoir cet erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (dic_2_08_2:2864): GLib-GObject-CRITICAL **: g_param_value_set_default: assertion 'G_IS_VALUE (value)' failed
     
    (dic_2_08_2:2864): GLib-GObject-WARNING **: /build/glib2.0-tTvduh/glib2.0-2.42.1/./gobject/gtype.c:4221: type id '0' is invalid
     
    (dic_2_08_2:2864): GLib-GObject-WARNING **: can't peek value table for type '<invalid>' which is not currently referenced
    Je dis "il m'arrive" car je fais le même appel ailleurs dans mon cpp sans aucun soucis (du moins en apparence pour moi)

    A noter que si mon GtkButton est crée comme un bouton de la collection (je designe l'interface sous glade), renommer le label comme ci-dessus ne cause pas cette erreur.

    Pouvez-vous m'expliquer cette erreur?

    Merci

    Nicolas

  2. #2
    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
    Points : 2 002
    Points
    2 002
    Par défaut
    Bonjour,

    euh, non, avec du contexte ce serait sans doute déjà pas évident, mais avec une unique ligne de code pour deviner le problème... Et rien ne relie de manière évidente le message d'erreur à la ligne de code que tu fournis. Essaie de faire un exemple minimal compilable qui repproduise le problème.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Points : 53
    Points
    53
    Par défaut
    Essaie de faire un exemple minimal compilable qui reproduise le problème
    ça c'est pas gagné, je peux pas passer le projet complet, et réduire en conservant le problème va être fastidieux et très long, surtout du fait que j'ai utilisé cet appel à cet endroit depuis un bon nombre de compilation sans avoir le soucis à l'exécution. Je crois que ça va être énergivore.

    y a-til des précautions particulières à l'utilisation de set_label? Et des différences notables entre l'appliquer à une label d'un bouton de collection?

    Je vais peut-être conserver la solution de contournement mise en place, càd éviter de changer les label des button: plutôt que de switcher entre exécuter/arréter sur un même bouton, j'ai fais deux boutons et je joue avec le sensibilité des boutons. j'ai peu de boutons sur mon IHM, et il me semble que ça gagne aussi en ergonomie.

  4. #4
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2017
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2017
    Messages : 43
    Points : 64
    Points
    64
    Par défaut
    Bonsoir,

    Pouvez-vous m'expliquer cette erreur?
    Le message d'erreur indique que p_new_mesure_button n'est plus un pointer valide sur une instance GTypeInstance (classe mère des widgets Gtk+, des objet GLib)

  5. #5
    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
    Points : 2 002
    Points
    2 002
    Par défaut
    Tu peux essayer d'utiliser l'option --g-fatal-warnings en lançant ton application, et la lancer via un débogueur. Elle crashera au premier warning, ce qui arrêtera le débogueur immédiatement, te permettant d'analyser la situation. Encore faut-il que tu n'ais pas des tonnes d'autres warnings sans rapport. Tu peux aussi passer ton application dans un outil de détection de fuites/corruption mémoire comme Valgrind, car ton pointeur est peut être corrompu à un moment. Sans contexte, c'est difficile d'en dire plus, et même si tu nous montrais du code, rien ne dit que le problème se trouverait dans cette portion...
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

Discussions similaires

  1. [LV8.6] erreur dans l'écriture sous excel
    Par Quent' dans le forum LabVIEW
    Réponses: 3
    Dernier message: 29/10/2009, 17h29
  2. Réponses: 4
    Dernier message: 17/07/2009, 16h02
  3. [AC-2003] erreur Conflit d'écriture
    Par roustif dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 16/07/2009, 16h56
  4. [bash]erreurs dans l'écriture d'un script shell
    Par homeostasie dans le forum Linux
    Réponses: 3
    Dernier message: 23/03/2009, 17h09
  5. Message d'erreur Windows - L'écriture décallée a échoué
    Par olive_le_malin dans le forum Windows XP
    Réponses: 2
    Dernier message: 21/01/2008, 15h14

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