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 gtk critical


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 14
    Par défaut erreur gtk critical
    salut

    j'ai une grosse interface codée avec glade,

    les signaux sont du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g_signal_connect ((gpointer) toolbutton1, "clicked",
                        G_CALLBACK (on_toolbutton1_clicked),
                        NULL);
    (pour celui qui m'interresse en particulier).

    et dans mon callback j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void
    on_toolbutton1_clicked                 (GtkToolButton   *toolbutton,
                                            gpointer         user_data)
    {
    GtkWidget *fenetre;
     
    fenetre = gtk_label_new("coucou");
    gtk_box_pack_start(GTK_BOX(vbox3),fenetre,FALSE,FALSE,0);
    gtk_widget_show_all(vbox3);
    }
    je voulais simplement testé le principe suivant avec dans un premier temps un simple label : cliquer sur new de ma barre de bouton, coucou s'affiche dans la vbox3 (c'est une vbox fille d'une scrolledbar).

    problème : déjà ça fait rien mais en plus ca me marque "gtk box pack start assertion GTK_IS_BOX(box) failed" et des fois en plus "gtk show all assertion GTK IS WIDGET (widget ) failed"

    HELP !!!

    MErci

    Flo


    ps : ma toolbar est codée comme il suit :

    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
    //barre de boutons
     
      toolbar1 = gtk_toolbar_new ();
      gtk_widget_show (toolbar1);
      gtk_box_pack_start (GTK_BOX (vbox1), toolbar1, FALSE, FALSE, 0);
      gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_ICONS);
      tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1));
     
      tmp_image = gtk_image_new_from_stock ("gtk-new", tmp_toolbar_icon_size);
      gtk_widget_show (tmp_image);
      toolbutton1 = (GtkWidget*) gtk_tool_button_new (tmp_image, "");
      gtk_widget_show (toolbutton1);
      gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (toolbutton1), FALSE);
      gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton1);
      gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton1), tooltips, _("nouveau strip"), NULL);
     
      tmp_image = gtk_image_new_from_stock ("gtk-open", tmp_toolbar_icon_size);
      gtk_widget_show (tmp_image);
      toolbutton2 = (GtkWidget*) gtk_tool_button_new (tmp_image, "");
      gtk_widget_show (toolbutton2);
      gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton2);
      gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton2), tooltips, _("ouvrir strip"), NULL);
     
      tmp_image = gtk_image_new_from_stock ("gtk-save", tmp_toolbar_icon_size);
      gtk_widget_show (tmp_image);
      toolbutton3 = (GtkWidget*) gtk_tool_button_new (tmp_image, "");
      gtk_widget_show (toolbutton3);
      gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton3);
      gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton3), tooltips, _("archiver strip"), NULL);

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 132
    Par défaut
    personne ne sait pas reponse ? ok ... je vais l'essayer

    Salut,

    a mon avis, on n'est pas bonne idee de creer n'importe quoi dans callback. Je penses q'il est mieux tout creer au debut de programme et apres des objects cacher avec gtk_widget_hide. Selon moi c'est mieux ( mais .... je ne sais pas pourquoi ... ).

    Bonne chance. Fredy

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Salut,


    J'ai pas tout regardé mais tu peux déjà corriger ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g_signal_connect ((gpointer) toolbutton1, "clicked",
                        G_CALLBACK (on_toolbutton1_clicked),
                        NULL);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g_signal_connect (G_OBJECT (toolbutton1), "clicked",
                        G_CALLBACK (on_toolbutton1_clicked),
                        NULL);
    On utilise la macro G_OBJECT pour passer en argument un objet à un callback (tu peux pourquoi aussi essayer de passer ton pointeur tel quel sans cast ou macro). Je ne sais pas si ca va résoudre ton problème mais tu aura une erreur de corrigé
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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. Erreur gtk-critical, que faire ?
    Par figarojuju dans le forum GTK+ avec C & C++
    Réponses: 9
    Dernier message: 28/12/2011, 11h32
  3. Erreur Gtk-CRITICAL dans une fenêtre secondaire
    Par Ridbark dans le forum GTK+ avec C & C++
    Réponses: 10
    Dernier message: 03/05/2011, 20h10
  4. erreur GTK sous vista
    Par honey0 dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 10/04/2008, 23h31
  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