示例#1
0
文件: SDL_dbus.c 项目: inolen/redream
void
SDL_DBus_Init(void)
{
    if (!dbus.session_conn && LoadDBUSLibrary() != -1) {
        DBusError err;
        dbus.error_init(&err);
        dbus.session_conn = dbus.bus_get_private(DBUS_BUS_SESSION, &err);
        if (dbus.error_is_set(&err)) {
            dbus.error_free(&err);
            if (dbus.session_conn) {
                dbus.connection_unref(dbus.session_conn);
                dbus.session_conn = NULL;
            }
            return;  /* oh well */
        }
        dbus.connection_set_exit_on_disconnect(dbus.session_conn, 0);
    }
}
示例#2
0
static void
X11_InitDBus(_THIS)
{
    if (LoadDBUSLibrary() != -1) {
        SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
        DBusError err;
        DBUS_dbus_error_init(&err);
        data->dbus = DBUS_dbus_bus_get_private(DBUS_BUS_SESSION, &err);
        if (DBUS_dbus_error_is_set(&err)) {
            DBUS_dbus_error_free(&err);
            if (data->dbus) {
                DBUS_dbus_connection_unref(data->dbus);
                data->dbus = NULL;
            }
            return;  /* oh well */
        }
        DBUS_dbus_connection_set_exit_on_disconnect(data->dbus, 0);
    }
}