static void gw_spellcheck_remove_signals (GwSpellcheck *spellcheck) { //Declarations GwSpellcheckPrivate *priv; LwPreferences *preferences; GtkEntry *entry; GSource *source; int i; priv = spellcheck->priv; preferences = gw_application_get_preferences (priv->application); entry = priv->entry; if (priv->signalid[GW_SPELLCHECK_SIGNALID_DICTIONARY] != 0) { lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_BASE, priv->signalid[GW_SPELLCHECK_SIGNALID_DICTIONARY] ); priv->signalid[GW_SPELLCHECK_SIGNALID_DICTIONARY] = 0; } if (priv->signalid[GW_SPELLCHECK_SIGNALID_RK_CONV] != 0) { lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_BASE, priv->signalid[GW_SPELLCHECK_SIGNALID_RK_CONV] ); priv->signalid[GW_SPELLCHECK_SIGNALID_RK_CONV] = 0; } for (i = 0; i < TOTAL_GW_SPELLCHECK_SIGNALIDS && entry != NULL; i++) { if (priv->signalid[i] > 0) { g_signal_handler_disconnect (G_OBJECT (entry), priv->signalid[i]); priv->signalid[i] = 0; } } for (i = 0; i < TOTAL_GW_SPELLCHECK_TIMEOUTIDS; i++) { if (g_main_current_source () != NULL && !g_source_is_destroyed (g_main_current_source ()) && priv->timeoutid[i] > 0 ) { source = g_main_context_find_source_by_id (NULL, priv->timeoutid[i]); if (source != NULL) { g_source_destroy (source); } } priv->timeoutid[i] = 0; } }
void lw_dictionaryinstall_free (LwDictionaryInstall *install) { if (install->files != NULL) g_free (install->files); install->files = NULL; if (install->downloads != NULL) g_free (install->downloads); install->downloads = NULL; if (install->decompresslist != NULL) g_strfreev (install->decompresslist); install->decompresslist = NULL; if (install->encodelist) g_strfreev (install->encodelist); install->encodelist = NULL; if (install->postprocesslist) g_strfreev (install->postprocesslist); install->postprocesslist = NULL; if (install->installlist) g_strfreev (install->installlist); install->installlist = NULL; if (install->installedlist) g_strfreev (install->installedlist); install->installedlist = NULL; if (install->preferences != NULL && install->listenerid != 0) { lw_preferences_remove_change_listener_by_schema (install->preferences, LW_SCHEMA_DICTIONARY, install->listenerid); install->listenerid = 0; } }
static void gw_settingswindow_remove_signals (GwSettingsWindow *window) { //Declarations GwSettingsWindowPrivate *priv; GwApplication *application; LwPreferences *preferences; int i; priv = window->priv; application = gw_window_get_application (GW_WINDOW (window)); preferences = gw_application_get_preferences (application); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_BASE, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_ROMAJI_KANA] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_BASE, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_HIRA_KATA] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_BASE, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_KATA_HIRA] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_BASE, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_SPELLCHECK] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_FONT, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_USE_GLOBAL_DOCUMENT_FONT] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_GNOME_INTERFACE, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_GLOBAL_DOCUMENT_FONT] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_FONT, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_CUSTOM_FONT] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_BASE, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_SEARCH_AS_YOU_TYPE] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_HIGHLIGHT, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_MATCH_FG] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_HIGHLIGHT, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_MATCH_BG] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_HIGHLIGHT, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_COMMENT_FG] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_HIGHLIGHT, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_HEADER_FG] ); lw_preferences_remove_change_listener_by_schema ( preferences, LW_SCHEMA_HIGHLIGHT, priv->signalids[GW_SETTINGSWINDOW_SIGNALID_HEADER_BG] ); for (i = 0; i < TOTAL_GW_SETTINGSWINDOW_SIGNALIDS; i++) priv->signalids[i] = 0; }