diff options
Diffstat (limited to 'libwnck/application.c')
-rw-r--r-- | libwnck/application.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/libwnck/application.c b/libwnck/application.c index 1c05419..9171549 100644 --- a/libwnck/application.c +++ b/libwnck/application.c @@ -557,7 +557,8 @@ _wnck_application_create (Window xwindow, */ _wnck_select_input (xscreen, application->priv->xwindow, - WNCK_APP_WINDOW_EVENT_MASK); + WNCK_APP_WINDOW_EVENT_MASK, + TRUE); return application; } @@ -676,6 +677,26 @@ _wnck_application_process_property_notify (WnckApplication *app, } static void +_wnck_app_iter_destroy_application (gpointer key, + gpointer value, + gpointer user_data) +{ + g_object_unref (WNCK_APPLICATION (value)); +} + +void +_wnck_application_shutdown_all (void) +{ + if (app_hash != NULL) + { + g_hash_table_foreach (app_hash, _wnck_app_iter_destroy_application, NULL); + g_hash_table_destroy (app_hash); + app_hash = NULL; + } +} + + +static void emit_name_changed (WnckApplication *app) { g_signal_emit (G_OBJECT (app), |