X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fjob.c;h=a090ec9b113cc2e5c3c111c55d6b97628e98d0db;hp=31e9cfe8d6f937ddf7973548c599f2c0d64283cb;hb=a567261a29b4e19c0c195240411b7562063d99f8;hpb=552e4331bf165290eb02596355d9570c1ef9af47 diff --git a/src/job.c b/src/job.c index 31e9cfe8d..a090ec9b1 100644 --- a/src/job.c +++ b/src/job.c @@ -76,6 +76,7 @@ void job_free(Job *j) { if (j->in_dbus_queue) LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j); + free(j->bus_client); free(j); } @@ -544,10 +545,9 @@ void job_add_to_dbus_queue(Job *j) { if (j->in_dbus_queue) return; - if (set_isempty(j->manager->subscribed)) { - j->sent_dbus_new_signal = true; - return; - } + /* We don't check if anybody is subscribed here, since this + * job might just have been created and not yet assigned to a + * connection/client. */ LIST_PREPEND(Job, dbus_queue, j->manager->dbus_job_queue, j); j->in_dbus_queue = true;