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 :

Problème d'incompatibilité entre 2 fonction


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Problème d'incompatibilité entre 2 fonction
    Bonjour,
    J'ai deux fonction qui fonctionne séparément, mais lorsque j'en appel une des deux, je ne peux plus appeller l'autre car le programme plante?

    Premiere fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void fct_Advanced(GtkWidget *pButton, GtkWidget *pBox)
    {	
    	if(gtk_toggle_button_get_active(pButton))
    	{
    		gtk_widget_show(pBox);
    	}
    	else
    	{
    		gtk_widget_hide(pBox);
    	}
    }

    Deuxième fonction:
    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
    void fct_Graphique()
    {
    	guchar * pixel;
    	int x;
    	int nouvelle_coordonnee;
    	int y=0;
    	int Spectre1[500];
    	pixel = gdk_pixbuf_get_pixels(pxgraph);
            for (x=0;x<400;x++)
            {
                     Spectre1[x]=rand()*300/RAND_MAX-1;
            }
    	White_Graph(400,300);
    	for(x=0;x<400;x++)
    	{
    		//y=Spectre[x];
    		nouvelle_coordonnee=(3*x)+(3*Spectre1[x]*400);
     
    		pixel[nouvelle_coordonnee]=0; // Couleur R
    		pixel[nouvelle_coordonnee+1]=0; // Couleur G
    		pixel[nouvelle_coordonnee+2]=0; // Couleur B
    	}
           gtk_image_set_from_pixbuf (graph, pxgraph);
    	gtk_widget_show(graph);
    }
    White_Graph:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void White_Graph(guint width, guint height)
    {  
    	guint n_coord;
    	guchar * pixel;
    	pixel= gdk_pixbuf_get_pixels(pxgraph);
     
        for(n_coord=0; n_coord<width*3*height; n_coord++)
        {
            pixel[n_coord]= 255;
        }
    	gtk_image_set_from_pixbuf (graph, pxgraph);
    	gtk_widget_show(graph);
    }
    Voici les parties de mon main que je croix qui peuvent vous être utile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pCadre2=gtk_frame_new("Setting");
    	gtk_box_pack_start(GTK_BOX(pleftVBox), pCadre2, FALSE, FALSE, 0);
    	g_signal_connect(G_OBJECT(ptemporaire1), "clicked", G_CALLBACK(fct_Advanced), (GtkWidget*) pCadre2);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    pxgraph = gdk_pixbuf_new(GDK_COLORSPACE_RGB,FALSE,8,400,300);
        pixel = gdk_pixbuf_get_pixels(pxgraph);
        for(i=0; i<400*3*300; i++)
        {
            pixel[i]= 255;
        }
        graph = gtk_image_new_from_pixbuf(pxgraph);
        gtk_box_pack_start(GTK_BOX(prightVBox), graph, FALSE, FALSE, 0);
    Merci d'avance pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    j'ai trouvé le problème. Je ne suis pas sur de comprendre, mais je c comment régler le problème. il faut seulement que je passe la variable graph en variable global et je refais un pixbuf à l'intérieur de la fonction. il ne faut pas oublier g_object_unref dans chaque fonction.

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

Discussions similaires

  1. Problème d'incompatibilité entre dimensions
    Par priximmo dans le forum Webi
    Réponses: 7
    Dernier message: 14/06/2012, 12h47
  2. Problème de communication entre deux fonctions
    Par AyManoVic dans le forum Langage
    Réponses: 0
    Dernier message: 24/10/2011, 16h47
  3. Réponses: 2
    Dernier message: 29/09/2009, 12h08
  4. JQuery - Incompatibilité entre 2 fonctions
    Par rems033 dans le forum jQuery
    Réponses: 1
    Dernier message: 10/11/2008, 14h20
  5. Réponses: 0
    Dernier message: 09/09/2006, 22h24

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