-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sat, Nov 11, 2006 at 11:51:20AM +0100, Attilio Fiandrotti wrote:
> Attilio Fiandrotti wrote:
> > Hi
> > 
> > In an application i add many items to a ListStore and make it scroll on 
> > the fly to the default option row,  like this
[...]
> I eventually managed this by scrolling the treeview from a callback that 
> gets fired after the expose event is fired.
> In order to have scrolling performed only the first time expose event is 
> fired, i use a global flag which i reset from inside the callback the 
> first time it's run.
> I now would like to know if there is a way to run a signal handler only 
> once and without using a second signal handler or global flags.

You just might want to call g_signal_handler_disconnect from whithin the signal
handler. You'll have to stash the handler ID you get from
g_signal_connect() somewhere accessible from the handler (for example in
the user data struct).

OTOH, g_signal_add_emission_hook()  seems to be the function made for
you :)

In an emission hook function you just return FALSE if you want the hook
to be removed. You'll have to check whether your particular signal
accepts emission hooks, though.

HTH
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFFVcWbBcgs9XrR2kYRAk3UAJ9oIricfwjX9IEnJlt9mK5UET3KAwCcDo88
i+DwGPKPRpIrpaGsZQnYo4k=
=RtUR
-----END PGP SIGNATURE-----

_______________________________________________
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