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

Reply via email to