src/core/linux/SDL_dbus.c
changeset 8977 84ae33058c67
parent 8889 26a6243b27c2
child 9619 b94b6d0bff0f
     1.1 --- a/src/core/linux/SDL_dbus.c	Mon Jul 07 10:26:28 2014 -0700
     1.2 +++ b/src/core/linux/SDL_dbus.c	Sun Jul 06 22:15:31 2014 +0100
     1.3 @@ -67,6 +67,7 @@
     1.4      SDL_DBUS_SYM(error_free);
     1.5      SDL_DBUS_SYM(get_local_machine_id);
     1.6      SDL_DBUS_SYM(free);
     1.7 +    SDL_DBUS_SYM(shutdown);
     1.8  
     1.9      #undef SDL_DBUS_SYM
    1.10      #undef SDL_DBUS_SYM2
    1.11 @@ -106,7 +107,7 @@
    1.12  void
    1.13  SDL_DBus_Init(void)
    1.14  {
    1.15 -    if (LoadDBUSLibrary() != -1) {
    1.16 +    if (!dbus.session_conn && LoadDBUSLibrary() != -1) {
    1.17          DBusError err;
    1.18          dbus.error_init(&err);
    1.19          dbus.session_conn = dbus.bus_get_private(DBUS_BUS_SESSION, &err);
    1.20 @@ -128,6 +129,7 @@
    1.21      if (dbus.session_conn) {
    1.22          dbus.connection_close(dbus.session_conn);
    1.23          dbus.connection_unref(dbus.session_conn);
    1.24 +        dbus.shutdown();
    1.25          SDL_memset(&dbus, 0, sizeof(dbus));
    1.26      }
    1.27      UnloadDBUSLibrary();