Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] rev 36741: /trunk/gtk/ /trunk/gtk/: capt
From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Sun, 24 Apr 2011 12:48:20 -0700
On Apr 24, 2011, at 11:44 AM, Guy Harris wrote:

> That broke the Capture Options dialog - it warns
> 
> 	(wireshark:55045): GLib-GObject-WARNING **: gsignal.c:1669: signal `changed' is invalid for instance `0x1051572a0'
> 
> 	(wireshark:55045): GLib-GObject-WARNING **: gsignal.c:1669: signal `activate' is invalid for instance `0x1051572a0'
> 
> when I pop up that dialog, it doesn't let me type an interface in the entry (yes, it should allow typing there, so the user can type the interface rather than having to selecting it, and so that, if an interface doesn't show up, they can type it anyway, in order to try to see why the interface couldn't be opened), and if I select a new interface, it doesn't update the choice of link-layer types or the activated/un-activated state of the monitor mode checkbox (which I think is a consequence of the "signal `changed' is invalid for instance `0x1051572a0" complaint, as the failing call is what attaches the routine that detects interface changes).

The "changed" error, and the failure to update the choice of link-layer types or the monitor mode checkbox, are a consequence of connecting to the "changed" signal of the child of the GtkComboBox when treated as a GtkBin, rather than of the GtkComboBox itself; I fixed that in r36837.

The "activate" error, and the inability to type in the box, is a consequence of creating it with gtk_combo_box_new_text() rather than gtk_combo_box_entry_new_text(); I fixed that in r36838.

gtk_combo_box_entry_new_text() is itself deprecated, according to

	http://developer.gnome.org/gtk/stable/GtkComboBoxEntry.html#gtk-combo-box-entry-new-text

but they don't say what it's deprecated in favor of.  I'm *guessing* it's deprecated in favor of gtk_combo_box_text_new_with_entry(), but that's not supported until GTK+ 2.24, so, to use it, we'd have to do more conditional wrapping.  We use gtk_combo_box_entry_new_text() in a number of places.