diff options
Diffstat (limited to 'src/login/logind-dbus.c')
-rw-r--r-- | src/login/logind-dbus.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 5decf8114c..113a2b73b6 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -2473,8 +2473,16 @@ DBusHandlerResult bus_message_filter( goto finish; } + /* drop all controllers owned by this name */ if (*old && !*new && (key = hashmap_remove(m->busnames, old))) { + Session *session; + Iterator i; + free(key); + + HASHMAP_FOREACH(session, m->sessions, i) + if (session_is_controller(session, old)) + session_drop_controller(session); } } |