Only track matches when they are created; fixes segfault in dispatch_signal() due to NULL handler->match

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2169 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams
2006-12-05 03:49:53 +00:00
parent 4ad549a2ab
commit bf03f244e8

View File

@@ -988,6 +988,8 @@ nm_dbus_manager_register_signal_handler (NMDBusManager *self,
free_signal_handler_data (sig_handler, self); free_signal_handler_data (sig_handler, self);
return 0; return 0;
} }
self->priv->matches = g_slist_append (self->priv->matches,
sig_handler->match);
} }
signal_match_enable (self, sig_handler->match, NULL); signal_match_enable (self, sig_handler->match, NULL);
@@ -997,7 +999,6 @@ nm_dbus_manager_register_signal_handler (NMDBusManager *self,
sig_handler->id = self->priv->sig_handler_id_counter; sig_handler->id = self->priv->sig_handler_id_counter;
g_static_mutex_unlock (&mutex); g_static_mutex_unlock (&mutex);
self->priv->matches = g_slist_append (self->priv->matches, sig_handler->match);
self->priv->signal_handlers = g_slist_append (self->priv->signal_handlers, self->priv->signal_handlers = g_slist_append (self->priv->signal_handlers,
sig_handler); sig_handler);