On Mon, Jul 25, 2005 at 09:18:57AM -0700, Colossus wrote:
> g_signal_connect ((gpointer) AddFile_button, "clicked",
>                     G_CALLBACK (on_add_files_activate),
>                     "dummy");
> 
> I have noticed that if the function "on_add_files_activate" is 
> declared with only one parameter, gpointer data , I never receive the 
> word dummy. Instead if  the same function is declared with two parameters:
> 
> void on_add_files_activate ( GtkWidget *useless , gpointer data);
> I can successfull print the value "dummy" pointed by data.
> 
> Could gtk developers explain this strange behaviour please ?

There's nothing strange about this behaviour.

The first argument of signal handlers is alwasy the object that
emitted the signal, user_data is the last.  If you want
user_data as the first argument, use g_signal_connect_swapped().
Please read the Gtk+ tutorial.

The fact C functions may be called with more arguments than
declared (though it's still error in ANSI C if you do that
without typecast) is just a side-effect of C calling
convention.

Yeti


--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to