On Oct 26, 2007, at 6:37 AM, Torsten Schoenfeld wrote: > On Fri, 2007-10-26 at 17:22 +0100, Dave Howorth wrote: > >> My [non-working] code looks like this: > > Note how drag_data_received is overridden simply how you'd override > any > other method in normal Perl code, and how the parent's > drag_data_received is invoked.
To be a little more explicit, this works because where you need it to be overridden is in your own code, where perl's method lookup can work normally. Trying to override drag_data_received as a signal won't work, because it's not a signal. I think the root of the problem you were seeing, Dave, is that drag_data_received comes from a GInterface, and as such is not actually a virtual method that may be overridden by a class deriving from the class implementing the interface. You can't add the interface in your own class, because the base class already implements it. So, Torsten's solution effectively creates a wrapper function -- your perl code first calls a wrapper instead of the real thing, and then chains up to the real thing. -- elysse: You dance better than some. me: "Some" what? elysse: Some asparagus. _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-perl-list