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 */
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 */