bonjour,

je sais que j'ai une erreur bête dans le bout de code qui suit mais la je ne la vois pas :

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
gboolean MAJ(gpointer d)
 {
 	Tcb *P=(Tcb *) d;
 	gchar min[5];
 
 	(P->nb_min)++;
 	g_sprintf(min,"%2d min",P->nb_min);
 	gtk_status_icon_set_tooltip(P->icon,min);
 
 	if ( P->nb_min >= 45 && P->pause==FALSE )
 	{
 		P->pause=TRUE;
 		P->nb_min=0;
 		printf("STOP !\n");
 	}
 	else
 	{
 		if (P->pause!=TRUE && P->nb_min==15)
 		{
 			P->pause=FALSE;
 			P->nb_min=0;
 			printf("Au BOULOT !\n");
 		}
 		else
 		{
 			printf("Tout est normal : %d min\n",P->nb_min);
 		}
 	}
 
 	return TRUE;
 }
 
int main (int argc, char ** argv)
{
  Tcb P;
  int id_thread;
  gchar min[5];
 
  P.nb_min=0;
  P.pause=FALSE;
 
  gtk_init (&argc, &argv);
 
  // Creation de l'icone et d'une info-bulle.
  P.icon = gtk_status_icon_new_from_file (ICONE);
  g_sprintf(min,"%2d min",P.nb_min);
  gtk_status_icon_set_tooltip (GTK_STATUS_ICON (P.icon),min);
 
// On attache un callback sur le widget GtkStatusIcon.
  g_signal_connect (G_OBJECT(P.icon),"popup-menu",G_CALLBACK(popup_menu_function),NULL);
 
  id_thread=g_timeout_add(1000,(GSourceFunc)MAJ,&P);
 
  gtk_main ();/*g_timer_destroy (timer);*/
 
  return 0;
}
le problème est que lors de l'appel à la fonction MAJ j'obtient :

(test:9028): Gtk-CRITICAL **: gtk_status_icon_set_tooltip: assertion `GTK_IS_STATUS_ICON (status_icon)' failed
Tout est normal : 0 min