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++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    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 607
    Par défaut (perso:3121): Gtk-CRITICAL **: IA__gtk_style_detach: assertion `style->attach_count > 0' failed
    Bonjour

    Je compile sous code::block en mode debug et j'ai une erreur qui s'affiche sur l'écran à chaque fermeture de fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (perso:3121): Gtk-CRITICAL **: IA__gtk_style_detach: assertion `style->attach_count > 0' failed
    Cette erreur vient d'où ? Est-elle évitable ou incontournable ?
    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. #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
    Par défaut
    Je ne me souviens plus quelle version de GTK+ tu utilises, alors J'ai regardé dans GTK 2.16...

    On dirait que tu appelles gtk_style_detach (directement ou indirectement) sur un GtkStyle qui n'a pas été attaché.

    La ligne qui t'affiche l'erreur est en gras.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    /**
     * gtk_style_detach:
     * @style: a #GtkStyle
     *
     * Detaches a style from a window. If the style is not attached
     * to any windows anymore, it is unrealized. See gtk_style_attach().
     *
     */
    void
    gtk_style_detach (GtkStyle *style)
    {
      g_return_if_fail (GTK_IS_STYLE (style));
      g_return_if_fail (style->attach_count > 0);
    
      style->attach_count -= 1;
      if (style->attach_count == 0)
        {
          g_signal_emit (style, unrealize_signal, 0);
    
          g_object_unref (style->colormap);
          style->colormap = NULL;
    
          if (style->private_font_desc)
    	{
    	  if (style->private_font)
    	    {
    	      gdk_font_unref (style->private_font);
    	      style->private_font = NULL;
    	    }
    
    	  pango_font_description_free (style->private_font_desc);
    	  style->private_font_desc = NULL;
    	}
    
          g_object_unref (style);
        }
    }

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    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 607
    Par défaut
    Citation Envoyé par liberforce Voir le message
    On dirait que tu appelles gtk_style_detach (directement ou indirectement) sur un GtkStyle qui n'a pas été attaché.
    J'avoue ne pas avoir attaché de GtkStyle...
    Il faut le faire quand et comment ? Ça sert à quoi ?

    Encore un point que j'ai loupé
    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...

  4. #4
    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
    Comme je l'ai dit, tu peux l'avoir appelé indirectement, c'est à dire que ce sont des fonctions que tu manipules qui utilisent GtkStyle, et que tu les manipules mal, ce qui entraîne ce warning. Je ne sais pas trop à quoi correspond cette classe, cela a l'air relié à la gestion de fontes ou tes modifications de couleur de fond.

    Savoir à partir de quand cela a commencé à ne plus fonctionné aurait permis de restreindre le périmètre de recherche. Tu as tes versions précédentes pour voir depuis quand le problème se produit ?

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    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 607
    Par défaut
    Le programme marche !
    Mais, si je le fais fonctionner en mode debug j'ai ses erreurs. Et assez régulièrement lors de la fermeture des fenêtres. Je trouve que ça ne fait pas joli. Ce n'est peut-être qu'une partie à peine visible d'un gros iceberg de bêtises !
    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...

  6. #6
    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
    Dans ce cas, il ne te reste plus qu'à travailler par dichotomie...
    Parsème cette ligne de code dans ton programme, et en étudiant les traces générées, restreins l'ensemble à rechercher.
    Tu finiras par trouver la ligne qui provoque le problème.

+ Répondre à la discussion
Cette discussion est résolue.

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