commit 3cc4b670cad89e38a5835211eac66fc3c92b650e
Author: Christoph Wickert <cwickert(a)fedoraproject.org>
Date: Fri Jul 1 00:44:05 2011 +0200
Add missing patch
...2.1-Fix-race-with-window-becoming-invalid.patch | 40 ++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/xfce4-notifyd-0.2.1-Fix-race-with-window-becoming-invalid.patch b/xfce4-notifyd-0.2.1-Fix-race-with-window-becoming-invalid.patch
new file mode 100644
index 0000000..eb1d579
--- /dev/null
+++ b/xfce4-notifyd-0.2.1-Fix-race-with-window-becoming-invalid.patch
@@ -0,0 +1,40 @@
+From 66263f690164478b25a7a67efa398a235f91b711 Mon Sep 17 00:00:00 2001
+From: Ricky Zhou <ricky(a)fedoraproject.org>
+Date: Thu, 2 Jun 2011 05:22:01 -0400
+Subject: [PATCH] Fix race with window becoming invalid.
+
+---
+ xfce4-notifyd/xfce-notify-daemon.c | 13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/xfce4-notifyd/xfce-notify-daemon.c b/xfce4-notifyd/xfce-notify-daemon.c
+index 0d6eddd..6e49ab2 100644
+--- a/xfce4-notifyd/xfce-notify-daemon.c
++++ b/xfce4-notifyd/xfce-notify-daemon.c
+@@ -517,11 +517,22 @@ xfce_notify_daemon_get_workarea(GdkScreen *screen,
+
+ for(l = g_list_first(windows_list); l != NULL; l = g_list_next(l)) {
+ GdkWindow *window = l->data;
++ GdkWindowTypeHint type_hint;
+
+- if(gdk_window_get_type_hint(window) == GDK_WINDOW_TYPE_HINT_DOCK) {
++ gdk_error_trap_push();
++ type_hint = gdk_window_get_type_hint(window);
++ gdk_flush();
++ if (gdk_error_trap_pop())
++ continue;
++
++ if(type_hint == GDK_WINDOW_TYPE_HINT_DOCK) {
+ GdkRectangle window_geom, intersection;
+
++ gdk_error_trap_push();
+ gdk_window_get_frame_extents(window, &window_geom);
++ gdk_flush();
++ if (gdk_error_trap_pop())
++ continue;
+
+ DBG("Got a dock window: x(%d), y(%d), w(%d), h(%d)",
+ window_geom.x,
+--
+1.7.5.2
+