Owen Taylor wrote: > On Sat, 2007-10-20 at 17:58 -0500, Yevgen Muntyan wrote: > >> Hi there, >> >> Is there a technical reason why toggle references >> allow only a single user? Namely, why >> >> " Multiple toggle references may be added to the same >> gobject, however if there are multiple toggle references >> to an object, none of them will ever be notified until all >> but one are removed." >> >> Why doesn't it emit a notification when reference count >> drops to N instead of 1, where N is number of >> g_object_add_toggle_ref() calls? >> > > Say you have the following scenario: > > GTK+ internal reference > || A > \/ > C# application data => C# proxy <=> [ GObject ] > B /\ > || C > \/ > java implementation of object > > Your suggestion is that the toggle references B and C should be > notified when the strong reference A is dropped. But then the > reference to the Java object would be converted to a weak > reference and the Java object improperly collected, even though > it is still referenced from the C# application. >
But it would happen only if C# kept the object, i.e. if it didn't drop its toggle reference. I'd think it contradicts the purpose of toggle references; it could be banned. Unless there is a use for toggle references other than attaching proxies which are kind of glued to the object. Best regards, Yevgen _______________________________________________ gtk-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtk-devel-list
