コード例 #1
0
static void xinput2_cleanup(void)
{
    if (display != NULL)
    {
        pXCloseDisplay(display);
        display = NULL;
    } /* if */

    memset(mice, '\0', sizeof (mice));
    available_mice = 0;

    #define LIBCLOSE(lib) { if (lib != NULL) { dlclose(lib); lib = NULL; } }
    LIBCLOSE(libxi);
    LIBCLOSE(libxext);
    LIBCLOSE(libx11);
    #undef LIBCLOSE

    memset(input_events, '\0', sizeof (input_events));
    input_events_read = input_events_write = 0;
} /* xinput2_cleanup */
コード例 #2
0
ファイル: x11_xinput.c プロジェクト: codders/soylent
static void xinput_cleanup(void)
{
    int i;

    if (display != NULL)
    {
        for (i = 0; i < available_mice; i++)
        {
            if (mice[i].device)
                pXCloseDevice(display, mice[i].device);
        } /* for */
    } /* if */

    if (extver != NULL)
    {
        pXFree(extver);
        extver = NULL;
    } /* if */

    if (device_list != NULL)
    {
        pXFreeDeviceList(device_list);
        device_list = NULL;
    } /* if */

    if (display != NULL)
    {
        pXCloseDisplay(display);
        display = NULL;
    } /* if */

    memset(mice, '\0', sizeof (mice));
    available_mice = 0;

    #define LIBCLOSE(lib) { if (lib != NULL) { dlclose(lib); lib = NULL; } }
    LIBCLOSE(libxi);
    LIBCLOSE(libxext);
    LIBCLOSE(libx11);
    #undef LIBCLOSE
} /* xinput_cleanup */