2003-02-16 Anders Carlsson <andersca@codefactory.se>

* dbus/dbus-auth.c: (client_try_next_mechanism):
	Plug a leak.

	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
	Return TRUE if there's no thread implementation around.

	* glib/dbus-gmain.c: (free_source),
	(dbus_connection_hookup_with_g_main):
	Make sure to remove the GSource when the connection is finalized.
This commit is contained in:
Anders Carlsson 2003-02-16 12:57:26 +00:00
parent 50137daea3
commit bf07fc88a3
4 changed files with 30 additions and 1 deletions

View file

@ -1,3 +1,15 @@
2003-02-16 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-auth.c: (client_try_next_mechanism):
Plug a leak.
* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
Return TRUE if there's no thread implementation around.
* glib/dbus-gmain.c: (free_source),
(dbus_connection_hookup_with_g_main):
Make sure to remove the GSource when the connection is finalized.
2003-02-16 Anders Carlsson <andersca@codefactory.se>
* bus/dispatch.c: (bus_dispatch_message_handler):

View file

@ -939,6 +939,8 @@ client_try_next_mechanism (DBusAuth *auth)
_dbus_verbose ("Trying mechanism %s\n",
auth->mech->mechanism);
_dbus_string_free (&auth_command);
return TRUE;
}

View file

@ -166,7 +166,7 @@ dbus_condvar_wait_timeout (DBusCondVar *cond,
if (cond && mutex && thread_functions.condvar_wait)
return (* thread_functions.condvar_wait_timeout) (cond, mutex, timeout_milliseconds);
else
return FALSE;
return TRUE;
}
/**

View file

@ -36,6 +36,8 @@ struct _DBusGSource
GHashTable *watches;
};
static int connection_slot = -1;
static gboolean dbus_connection_prepare (GSource *source,
gint *timeout);
static gboolean dbus_connection_check (GSource *source);
@ -206,6 +208,12 @@ remove_timeout (DBusTimeout *timeout,
g_source_remove (timeout_tag);
}
static void
free_source (GSource *source)
{
g_source_destroy (source);
}
void
dbus_connection_hookup_with_g_main (DBusConnection *connection)
{
@ -228,4 +236,11 @@ dbus_connection_hookup_with_g_main (DBusConnection *connection)
NULL, NULL);
g_source_attach (source, NULL);
if (connection_slot == -1 )
connection_slot = dbus_connection_allocate_data_slot ();
dbus_connection_set_data (connection, connection_slot, source,
(DBusFreeFunction)free_source);
}