static void keysynth_exit (void) { SPI_deregisterAccessibleKeystrokeListener (key_listener, SPI_KEYMASK_ALT); AccessibleKeystrokeListener_unref (key_listener); SPI_deregisterAccessibleKeystrokeListener (switch_listener, SPI_KEYMASK_UNMODIFIED); AccessibleKeystrokeListener_unref (switch_listener); SPI_event_quit (); }
static void simple_at_exit (void) { SPI_deregisterAccessibleKeystrokeListener (command_key_listener, SPI_KEYMASK_ALT | SPI_KEYMASK_CONTROL); AccessibleKeystrokeListener_unref (command_key_listener); SPI_freeAccessibleKeySet (command_keyset); /* SPI_deregisterAccessibleKeystrokeListener (ordinary_key_listener, SPI_KEYMASK_ALT | SPI_KEYMASK_CONTROL); */ AccessibleKeystrokeListener_unref (ordinary_key_listener); SPI_freeAccessibleKeySet (async_keyset); /* SPI_deregisterAccessibleKeystrokeListener (synchronous_key_listener, SPI_KEYMASK_ALT | SPI_KEYMASK_CONTROL); */ AccessibleKeystrokeListener_unref (synchronous_key_listener); SPI_freeAccessibleKeySet (sync_keyset); SPI_deregisterAccessibleKeystrokeListener (tab_key_listener, SPI_KEYMASK_ALT | SPI_KEYMASK_CONTROL); AccessibleKeystrokeListener_unref (tab_key_listener); SPI_freeAccessibleKeySet (tab_keyset); SPI_event_quit (); }
static void destruct_AtSpiScreen (void) { SPI_event_quit(); pthread_join(SPI_main_thread,NULL); logMessage(LOG_DEBUG,"SPI stopped"); }
static void signal_main_loop_to_stop() { SPI_event_quit(); // This call returns. // The main loop will stop asynchronously. }