Bonjour voila je fais un editeur de texte, j'éssais d'implémenter a fonction bold ( mettre la poile en gras ), donc voila j'ai une structure accésible dans tous mes fichiers la voici :

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
typedef struct
{
  gchar *chemin;
  gboolean sauve;
  GtkTextView *p_text_view;
  GtkTextBuffer *p_text_buffer;
} document_t;
 
typedef struct
{
  GList *tous;
  document_t *actif;
  GtkWindow *p_main_window;
  GtkNotebook *p_notebook;
} docs_t;
extern docs_t docs;

Et voici ma fonction bold :

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
void cb_bold (GtkWidget *p_widget, gpointer user_data)
{
    GtkTextIter start;
    GtkTextIter end;
    gboolean res = FALSE;
 
    gtk_text_buffer_create_tag(docs.actif->p_text_buffer,"bold","weight", PANGO_WEIGHT_BOLD, NULL);
 
    res = gtk_text_buffer_get_selection_bounds (docs.actif->p_text_buffer,&start,&end);
 
    if(res)
    {
       gtk_text_buffer_apply_tag(docs.actif->p_text_buffer,"bold",&start,&end);
    }
 
    //gtk_text_buffer_set_text(docs.actif->p_text_buffer,"test",4);
}
Sauf que voila quand je clique sur mon bouton mon apply crash sans rien dir ...

J'ai mit comme test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
gtk_text_buffer_set_text(docs.actif->p_text_buffer,"test",4);
Il modifie bien mon buffer et l'actualise correctement dans mon p_text_view donc je ne pense pas que cela vienne de ma structure.

Apparemment ca serait la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
gtk_text_buffer_apply_tag(docs.actif->p_text_buffer,"bold",&start,&end);
qui ferait crasher , mais je ne vois pas pourquoi je lui envois bien les arguments nécessaires


Aide svp