Re: Bug#590453: libgtk2-perl: Gtk2::FileChooserDialog signal produces different response to ->run()

On 26.07.2010 15:47, Jeffrey Ratcliffe wrote:
After some rooting around, the problem comes from Gtk2::Dialog
ancestor, as demonstrated by the attached script.

I can reproduce the problem. After some head-scratching, I'm now pretty sure that this due to a problem in Glib that was uncovered by the introduction of Gtk2::InfoBar in Gtk2 1.230.

Gtk2::InfoBar also has a "response" signal, and just like Gtk2::Dialog, it installs a custom signal marshaller that converts the numeric response IDs to strings. The problem is that Glib stores custom signal marshallers in a hash table keyed by signal names. And since Gtk2 1.230, Gtk2::Dialog and Gtk2::InfoBar both install a custom signal marshaller for the "response" signal on their respective type. But since Glib just stores (signal name => signal marshaller) pairs, the entry for Gtk2::InfoBar replaces the entry for Gtk2::Dialog. Glib needs to be fixed to store the associations in the form ((type, signal name) => signal marshaller).

This looks a great deal like

I don't think the current problem is directly related to this one, no.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]