add: if (!operation) return;
context: void verifie_double_click_categ ( GtkWidget *liste,				  GdkEventButton *ev,				  gpointer null ){  if ( ev -> type == GDK_2BUTTON_PRESS )    {      struct structure_operation *operation;      if ( GTK_CLIST ( arbre_categ ) -> selection	   &&	   ( GTK_CTREE_ROW ( ( GTK_CLIST ( arbre_categ ) -> selection ) -> data ) -> level == 4	     ||	     ( GTK_CTREE_ROW ( ( GTK_CLIST ( arbre_categ ) -> selection ) -> data ) -> level == 3	       &&	       !gtk_ctree_node_get_row_data ( GTK_CTREE ( arbre_categ ),					      GTK_CTREE_ROW ( GTK_CTREE_ROW (( GTK_CLIST ( arbre_categ ) -> selection ) -> data ) -> parent ) -> parent ))))	{	  /* passage sur le compte concern */	  operation = gtk_ctree_node_get_row_data ( GTK_CTREE ( arbre_categ ),						    GTK_CTREE_NODE ( ( GTK_CLIST ( arbre_categ ) -> selection ) -> data ) );	  /* si c'est une op de ventilation, on se place sur l'op ventile correspondante */ 	  if ( operation -> no_operation_ventilee_associee )	    {	      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + operation -> no_compte;	      operation = g_slist_find_custom ( LISTE_OPERATIONS,						GINT_TO_POINTER ( operation -> no_operation_ventilee_associee ),						(GCompareFunc) recherche_operation_par_no ) -> data;	    }	  changement_compte ( GINT_TO_POINTER ( operation -> no_compte ));	  p_tab_nom_de_compte_variable = p_tab_nom_de_compte_courant;	  if ( operation -> pointe == 2 && !AFFICHAGE_R )	    {	      AFFICHAGE_R = 1;	      remplissage_liste_operations ( compte_courant );	    }	  OPERATION_SELECTIONNEE = operation;	  selectionne_ligne ( compte_courant );	}    }}