rem: static void realize_scrolled_window ( GtkWidget *vbox,
add: static gboolean realize_scrolled_window ( GtkWidget *vbox,
context: static void realize_scrolled_window ( GtkWidget *vbox,				      GtkAllocation *allocation,				      GtkComboFix *combofix ){  gint x, y;  gint hauteur;  gtk_signal_disconnect_by_func ( GTK_OBJECT ( vbox ),				     GTK_SIGNAL_FUNC ( realize_scrolled_window ),				     combofix );  /* rcupre la position de l'entry pour dfinir x et y du placement de la fentre */  gdk_window_get_origin ( GTK_WIDGET ( combofix->entry )->window,			  &x,			  &y );  hauteur = vbox -> requisition.height + 10;/*   si la largeur de la liste est >  celle du combofix, une scrollbar sera affiche en bas, on augment la hauteur */  if ( vbox -> requisition.width > GTK_WIDGET ( combofix -> entry ) -> allocation.width )    hauteur = hauteur + GTK_SCROLLED_WINDOW  ( combofix->box ) -> hscrollbar -> requisition.height + 5;/*   si la popup est trop petite pour contenir toute la liste et que la place vers le haut est 2 fois plus grande que vers le bas, *//*     on affiche la popup au dessus de l'entre */  if ( (( gdk_screen_height () - y - GTK_WIDGET ( combofix ) -> allocation.height ) < hauteur )       &&       ( ( ( gdk_screen_height () - y ) * 3 ) < y ) )    {      /* on met la popup au dessus de l'entre */      if ( y > hauteur )	y = y - hauteur;      else	{	  hauteur = y;	  y = 0;	}    }  else    {      /* on met la popup en dessous de l'entre */      y = y + GTK_WIDGET ( combofix ) -> requisition.height;      if ( ( gdk_screen_height () - y ) < hauteur )	hauteur = gdk_screen_height () - y;    }  gtk_widget_set_usize ( GTK_WIDGET ( combofix->popup ),			 GTK_WIDGET ( combofix ) ->allocation.width,			 hauteur );  gtk_widget_set_uposition ( GTK_WIDGET ( combofix->popup ),			     x,			     y );}