From 7ea7ac394a839205c75602ee11afa0edeb1f2b99 Mon Sep 17 00:00:00 2001 From: Robert Love Date: Thu, 15 Dec 2005 18:21:10 +0000 Subject: [PATCH] 2005-12-15 Robert Love Patch by Timo Hoenig : * src/NetworkManagerDbus.c - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED if HAL jumps off the system bus. Otherwise libdbus (dbus_connection_dispatch) will try to run the filter function of our libhal context which is already freed. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1193 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 9 +++++++++ src/NetworkManagerDbus.c | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4897cb2186..e8b20739cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2005-12-15 Robert Love + + Patch by Timo Hoenig : + * src/NetworkManagerDbus.c + - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED + if HAL jumps off the system bus. Otherwise libdbus + (dbus_connection_dispatch) will try to run the filter + function of our libhal context which is already freed. + 2005-12-15 Alexander Shopov * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS diff --git a/src/NetworkManagerDbus.c b/src/NetworkManagerDbus.c index 37c7141c6c..40018095a9 100644 --- a/src/NetworkManagerDbus.c +++ b/src/NetworkManagerDbus.c @@ -1074,9 +1074,15 @@ static DBusHandlerResult nm_dbus_signal_filter (DBusConnection *connection, DBus else if (strcmp (service, "org.freedesktop.Hal") == 0) { if (!old_owner_good && new_owner_good) /* Hal just appeared */ + { nm_hal_init (data); + handled = TRUE; + } else if (old_owner_good && !new_owner_good) /* Hal went away */ + { nm_hal_deinit (data); + handled = TRUE; + } } else if (nm_dhcp_manager_process_name_owner_changed (data->dhcp_manager, service, old_owner, new_owner) == TRUE) handled = TRUE;