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);