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:
@@ -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);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user