static void
g_socket_finalize (GObject *object)
{
- GSocket *socket G_GNUC_UNUSED = G_SOCKET (object);
+ GSocket *socket = G_SOCKET (object);
+
+ if (socket->priv->local_address)
+ g_object_unref (socket->priv->local_address);
+
+ if (socket->priv->remote_address)
+ g_object_unref (socket->priv->remote_address);
if (G_OBJECT_CLASS (g_socket_parent_class)->finalize)
(*G_OBJECT_CLASS (g_socket_parent_class)->finalize) (object);
static void
g_socket_dispose (GObject *object)
{
- GSocket *socket G_GNUC_UNUSED = G_SOCKET (object);;
+ GSocket *socket = G_SOCKET (object);
+
+ g_socket_close (socket);
if (G_OBJECT_CLASS (g_socket_parent_class)->dispose)
(*G_OBJECT_CLASS (g_socket_parent_class)->dispose) (object);
g_printf ("connected, local socket is %s:%d\n", g_inet_address_to_string (g_inet_socket_address_get_address (G_INET_SOCKET_ADDRESS (address))), g_inet_socket_address_get_port (G_INET_SOCKET_ADDRESS (address)));
- g_socket_close (socket);
-
g_object_unref (G_OBJECT (socket));
// g_main_loop_run (loop);