diff options
author | Havoc Pennington <hp@redhat.com> | 2003-10-12 05:59:39 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-10-12 05:59:39 +0000 |
commit | 4097e94af3d2fb1eb865343e3f76ca3949e7c69b (patch) | |
tree | c495c423b72fdb8421ec4266396efa97761fa590 /glib | |
parent | 56cc4ae1a241d36b64dbe26de89714f7771f6e78 (diff) |
2003-10-12 Havoc Pennington <hp@pobox.com>
Added test code that 1) starts an actual bus daemon and 2) uses
DBusGProxy; fixed bugs that were revealed by the test. Lots
more testing possible, but this is the basic framework.
* glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
empty proxy lists from the proxy list hash
* dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
couple of return_if_fail checks
* dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
to allocate, so everything is cleared to NULL as it should be.
* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
source as data to dbus_connection_set_timeout_functions() as the
timeout functions expected
* test/glib/run-test.sh: add a little script to start up a message
bus and run tests using it
* tools/dbus-launch.1: updates
* tools/dbus-launch.c (main): add --config-file option
* tools/dbus-launch.c (main): remove confusing else if (runprog)
that could never be reached.
* dbus/dbus-message.c (dbus_message_new_method_return)
(dbus_message_new_error, dbus_message_new_signal): set the
no-reply-expected flag on all these. Redundant, but may
as well be consistent.
Diffstat (limited to 'glib')
-rw-r--r-- | glib/dbus-gmain.c | 2 | ||||
-rw-r--r-- | glib/dbus-gproxy.c | 17 |
2 files changed, 13 insertions, 6 deletions
diff --git a/glib/dbus-gmain.c b/glib/dbus-gmain.c index 7c845d5b..6f0737bf 100644 --- a/glib/dbus-gmain.c +++ b/glib/dbus-gmain.c @@ -492,7 +492,7 @@ dbus_connection_setup_with_g_main (DBusConnection *connection, add_timeout, remove_timeout, timeout_toggled, - NULL, NULL)) + source, NULL)) goto nomem; dbus_connection_set_wakeup_main_function (connection, diff --git a/glib/dbus-gproxy.c b/glib/dbus-gproxy.c index 13b4248c..f5e59186 100644 --- a/glib/dbus-gproxy.c +++ b/glib/dbus-gproxy.c @@ -460,7 +460,7 @@ dbus_gproxy_manager_unregister (DBusGProxyManager *manager, #ifndef G_DISABLE_CHECKS if (manager->proxy_lists == NULL) { - g_warning ("Trying to disconnect a signal on a proxy but none are connected\n"); + g_warning ("Trying to unregister a proxy but there aren't any registered"); return; } #endif @@ -468,13 +468,11 @@ dbus_gproxy_manager_unregister (DBusGProxyManager *manager, tri = tristring_from_proxy (proxy); list = g_hash_table_lookup (manager->proxy_lists, tri); - - g_free (tri); #ifndef G_DISABLE_CHECKS if (list == NULL) { - g_warning ("Trying to disconnect a signal on a proxy but none are connected\n"); + g_warning ("Trying to unregister a proxy but it isn't registered"); return; } #endif @@ -485,12 +483,21 @@ dbus_gproxy_manager_unregister (DBusGProxyManager *manager, g_assert (g_slist_find (list->proxies, proxy) == NULL); + if (list->proxies == NULL) + { + g_hash_table_remove (manager->proxy_lists, + tri); + list = NULL; + } + if (g_hash_table_size (manager->proxy_lists) == 0) { g_hash_table_destroy (manager->proxy_lists); manager->proxy_lists = NULL; } - + + g_free (tri); + UNLOCK_MANAGER (manager); } |