[gtk+] Make gdk_flush_outstanding_moves "reentrant"
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Make gdk_flush_outstanding_moves "reentrant"
- Date: Thu, 11 Apr 2013 10:18:06 +0000 (UTC)
commit 9011a79ed2f205554315b3d15835e07227f1b97b
Author: Alexander Larsson <alexl redhat com>
Date: Thu Apr 11 11:35:17 2013 +0200
Make gdk_flush_outstanding_moves "reentrant"
If do_move_region_bits_on_impl causes updates they will propely
be moved by the outstanding moves we have not yet flushed.
gdk/gdkwindow.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index f9628f3..482f499 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -3499,24 +3499,22 @@ static void
gdk_window_flush_outstanding_moves (GdkWindow *window)
{
GdkWindow *impl_window;
- GList *l, *outstanding;
GdkWindowRegionMove *move;
impl_window = gdk_window_get_impl_window (window);
- outstanding = impl_window->outstanding_moves;
- impl_window->outstanding_moves = NULL;
- for (l = outstanding; l != NULL; l = l->next)
+ while (impl_window->outstanding_moves)
{
- move = l->data;
+ move = impl_window->outstanding_moves->data;
+ impl_window->outstanding_moves =
+ g_list_delete_link (impl_window->outstanding_moves,
+ impl_window->outstanding_moves);
do_move_region_bits_on_impl (impl_window,
move->dest_region, move->dx, move->dy);
gdk_window_region_move_free (move);
}
-
- g_list_free (outstanding);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]