On 10 Mar 2007, [EMAIL PROTECTED] wrote:
> If I delete the ~/.gtk-gnutella directory (so that GtkG will
> recreate it), I get the following:
> ** ERROR **: file nodes.h: line 615 (node_check): assertion failed:
> (n) aborting...
#5 0x080c5986 in node_check (n=0x0) at nodes.h:615
#6 0x080cf8f4 in node_udp_enable_by_net (net=NET_TYPE_IPV4) at nodes.c:5651
s = (struct gnutella_socket *) 0x83f4d10
n = (gnutella_node_t *) 0x0
#7 0x080cfb38 in node_udp_enable () at nodes.c:5717
#8 0x080c5209 in node_post_init () at nodes.c:1277
> Building GtkG for GTK2 does NOT produce the error in the event that
> there's no ~/gtk-gnutella directory, but it DOES produce the
> hcache.c assert. I take this to mean that failure #1 (the hcache.c
> assert) is something global to GTK1 and 2, while the nodes.c assert
> reflects some issue with GTK1/Glib1.
In main.c, we call node_init() and then node_post_init(). It is
possible that GTK1 is triggering a property change. In main.c, we
call main_gui_init() in ui/gtk/main.c, which calls
settings_gui_init(). I don't know if the property callbacks have a
"new/changed" field. The call to node_update_udp_socket() should only
be made when the value has changed (not set to a default). At least,
that would fix this problem.
Incidentally, node_udp_enable() can be made static.
fwiw,
Bill Pringlemeir.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gtk-gnutella-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel