rem: g_signal_handlers_block_by_func ( G_OBJECT ( bouton_affiche_r ), G_CALLBACK ( change_aspect_liste ), GINT_TO_POINTER (0)); g_signal_handlers_block_by_func ( G_OBJECT ( bouton_enleve_r ), G_CALLBACK ( change_aspect_liste ), GINT_TO_POINTER (0)); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (bouton_grille), !etat.affichage_grille );
context: void view_menu_cb ( gpointer callback_data, guint callback_action, GtkWidget *widget ){  /* FIXME benj: ugly but I cannot find a way to block this ... I     understand why gtkitemfactory is deprecated. */  if ( block_menu_cb ) return;  switch ( callback_action )    {    case HIDE_SHOW_TRANSACTION_FORM:      affiche_cache_le_formulaire();      break;    case HIDE_SHOW_GRID:      g_signal_handlers_block_by_func ( G_OBJECT ( bouton_affiche_r ),					G_CALLBACK ( change_aspect_liste ),					GINT_TO_POINTER (0));      g_signal_handlers_block_by_func ( G_OBJECT ( bouton_enleve_r ),					G_CALLBACK ( change_aspect_liste ),					GINT_TO_POINTER (0));      gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (bouton_grille), !etat.affichage_grille );      change_aspect_liste (0);      g_signal_handlers_unblock_by_func ( G_OBJECT ( bouton_affiche_r ),					  G_CALLBACK ( change_aspect_liste ),					  GINT_TO_POINTER (0));      g_signal_handlers_unblock_by_func ( G_OBJECT ( bouton_enleve_r ),					  G_CALLBACK ( change_aspect_liste ),					  GINT_TO_POINTER (0));      break;    case HIDE_SHOW_RECONCILED_TRANSACTIONS:      g_signal_handlers_block_by_func ( G_OBJECT ( bouton_affiche_r ),					G_CALLBACK ( change_aspect_liste ),					GINT_TO_POINTER (5));      g_signal_handlers_block_by_func ( G_OBJECT ( bouton_enleve_r ),					G_CALLBACK ( change_aspect_liste ),					GINT_TO_POINTER (6));      gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (bouton_affiche_r), !AFFICHAGE_R );      gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (bouton_enleve_r), AFFICHAGE_R );      g_signal_handlers_unblock_by_func ( G_OBJECT ( bouton_affiche_r ),					  G_CALLBACK ( change_aspect_liste ),					  GINT_TO_POINTER (5));      g_signal_handlers_unblock_by_func ( G_OBJECT ( bouton_enleve_r ),					  G_CALLBACK ( change_aspect_liste ),					  GINT_TO_POINTER (6));      if ( AFFICHAGE_R )	change_aspect_liste(6);      else	change_aspect_liste(5);            break;    case ONE_LINE_PER_TRANSACTION:      change_aspect_liste (1);      break;    case TWO_LINES_PER_TRANSACTION:      change_aspect_liste (2);      break;    case THREE_LINES_PER_TRANSACTION:      change_aspect_liste (3);      break;    case FOUR_LINES_PER_TRANSACTION:      change_aspect_liste (4);      break;    }}