Palmer Thomas J Civ HQ SSG/ENEP wrote:
Hi List,
I am trying to implement a pick list for the capture filter
(capture_dlg.c) and I've run into a problem.
1) I have the following functions that exist in a new file within the
gtk directory (both are linked into libui.lib):
extern void cfilter_combo_remove_from_list(gchar *s);
extern gboolean cfilter_combo_add_recent(gchar *s);
2) I add the capture filter to a GList within capture_prep_ok_cb() by
calling cfilter_combo_add_recent()
3) If the filter syntax is incorrect, which is determined within
capture.c, I want to call
cfilter_combo_remove_from_list(cfile.cfilter) to remove the incorrect
entry from the list
4) When I call cfilter_combo_remove_from_list(cfile.cfilter) from
capture.c, I get the following GTK assertions:
(ethereal-capture:772): GLib-GObject-CRITICAL **: file gobject.c: line
1642 (g_o
bject_get_data): assertion `G_IS_OBJECT (object)' failed
(ethereal-capture:772): GLib-GObject-CRITICAL **: file gobject.c: line
1642 (g_o
bject_get_data): assertion `G_IS_OBJECT (object)' failed
(ethereal-capture:772): GLib-GObject-CRITICAL **: file gobject.c: line
1655 (g_o
bject_set_data): assertion `G_IS_OBJECT (object)' failed
(ethereal-capture:772): GLib-GObject-CRITICAL **: file gobject.c: line
1642 (g_o
bject_get_data): assertion `G_IS_OBJECT (object)' failed
When calling cfilter_combo_remove_from_list(cfile.cfilter) from
capture_dlg.c, which gets linked into libui.lib, it works fine.
The diff of the GTK directory and the new files are attached for
reference. Any advice will be appreciated.
<<picklist.diff>> <<cfilter_combo_utils.c>> <<cfilter_combo_utils.h>>
tjp
Well, I had a deep thought :-) of it, but didn't get an idea why you get
this problem :-(
You might use a debugger (e.g. gdb, ddd or MSVC debugger) and step until
the first appearances of such an assert.
I would guess that the object you're referring to (top_level) is
somewhat problematic, but I really got no idea why...
Regards, ULFL