diff options
author | Benjamin Otte <otte@redhat.com> | 2016-11-23 19:10:34 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-11-23 19:10:34 +0100 |
commit | 2a27b7ecc6a427a39d266f7d0ac0210dd3f70688 (patch) | |
tree | c029d880b2853bb4dac546ed40d891a166d95d69 /gdk/gdkwindow.c | |
parent | ef75ca2d53b44d7273c841d1f84b817725c07d30 (diff) | |
download | gtk+-2a27b7ecc6a427a39d266f7d0ac0210dd3f70688.tar.gz |
API: Remove gdk_window_process_all_updates()
It's completely unused since we have a frame clock.
Diffstat (limited to 'gdk/gdkwindow.c')
-rw-r--r-- | gdk/gdkwindow.c | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 07aff2ac73..7d3804e272 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -3510,120 +3510,6 @@ gdk_window_process_updates_internal (GdkWindow *window) g_object_unref (window); } -static void -flush_all_displays (void) -{ - GSList *displays, *l; - - displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); - for (l = displays; l; l = l->next) - gdk_display_flush (l->data); - - g_slist_free (displays); -} - -static void -before_process_all_updates (void) -{ - GSList *displays, *l; - GdkDisplayClass *display_class; - - displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); - display_class = GDK_DISPLAY_GET_CLASS (displays->data); - for (l = displays; l; l = l->next) - display_class->before_process_all_updates (l->data); - - g_slist_free (displays); -} - -static void -after_process_all_updates (void) -{ - GSList *displays, *l; - GdkDisplayClass *display_class; - - displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); - display_class = GDK_DISPLAY_GET_CLASS (displays->data); - for (l = displays; l; l = l->next) - display_class->after_process_all_updates (l->data); - - g_slist_free (displays); -} - -/* Currently it is not possible to override - * gdk_window_process_all_updates in the same manner as - * gdk_window_process_updates and gdk_window_invalidate_maybe_recurse - * by implementing the GdkPaintable interface. If in the future a - * backend would need this, the right solution would be to add a - * method to GdkDisplay that can be optionally - * NULL. gdk_window_process_all_updates can then walk the list of open - * displays and call the mehod. - */ - -/** - * gdk_window_process_all_updates: - * - * Calls gdk_window_process_updates() for all windows (see #GdkWindow) - * in the application. - * - **/ -void -gdk_window_process_all_updates (void) -{ - GSList *old_update_windows = update_windows; - GSList *tmp_list = update_windows; - static gboolean in_process_all_updates = FALSE; - static gboolean got_recursive_update = FALSE; - - if (in_process_all_updates) - { - /* We can't do this now since that would recurse, so - delay it until after the recursion is done. */ - got_recursive_update = TRUE; - return; - } - - in_process_all_updates = TRUE; - got_recursive_update = FALSE; - - update_windows = NULL; - - before_process_all_updates (); - - while (tmp_list) - { - GdkWindow *window = tmp_list->data; - - if (!GDK_WINDOW_DESTROYED (window)) - { - if (window->update_freeze_count || - gdk_window_is_toplevel_frozen (window)) - gdk_window_add_update_window (window); - else - gdk_window_process_updates_internal (window); - } - - g_object_unref (window); - tmp_list = tmp_list->next; - } - - g_slist_free (old_update_windows); - - flush_all_displays (); - - after_process_all_updates (); - - in_process_all_updates = FALSE; - - /* If we ignored a recursive call, schedule a - redraw now so that it eventually happens, - otherwise we could miss an update if nothing - else schedules an update. */ - if (got_recursive_update) - gdk_window_schedule_update (NULL); -} - - enum { PROCESS_UPDATES_NO_RECURSE, PROCESS_UPDATES_WITH_ALL_CHILDREN, |