From eb6debd4e0ddeaeab33bc8bb6fe19d403993e00a Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Tue, 3 Jun 2003 22:43:15 +0000 Subject: [PATCH] Don't respond to pings on a root window; prevents infinite loops if we are Tue Jun 3 18:32:30 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't respond to pings on a root window; prevents infinite loops if we are selecting for SubstructureNotify on the root window. (#111945, Sergey V. Udaltsov) --- ChangeLog | 7 +++++++ ChangeLog.pre-2-10 | 7 +++++++ ChangeLog.pre-2-4 | 7 +++++++ ChangeLog.pre-2-6 | 7 +++++++ ChangeLog.pre-2-8 | 7 +++++++ gdk/x11/gdkevents-x11.c | 4 +++- 6 files changed, 38 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index dffbf3720c..0dfd0942ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Jun 3 18:32:30 2003 Owen Taylor + + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't + respond to pings on a root window; prevents infinite + loops if we are selecting for SubstructureNotify on the + root window. (#111945, Sergey V. Udaltsov) + Tue Jun 3 17:39:16 2003 Owen Taylor #71597, reported by Morten Welinder diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index dffbf3720c..0dfd0942ca 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Tue Jun 3 18:32:30 2003 Owen Taylor + + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't + respond to pings on a root window; prevents infinite + loops if we are selecting for SubstructureNotify on the + root window. (#111945, Sergey V. Udaltsov) + Tue Jun 3 17:39:16 2003 Owen Taylor #71597, reported by Morten Welinder diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index dffbf3720c..0dfd0942ca 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,10 @@ +Tue Jun 3 18:32:30 2003 Owen Taylor + + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't + respond to pings on a root window; prevents infinite + loops if we are selecting for SubstructureNotify on the + root window. (#111945, Sergey V. Udaltsov) + Tue Jun 3 17:39:16 2003 Owen Taylor #71597, reported by Morten Welinder diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index dffbf3720c..0dfd0942ca 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +Tue Jun 3 18:32:30 2003 Owen Taylor + + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't + respond to pings on a root window; prevents infinite + loops if we are selecting for SubstructureNotify on the + root window. (#111945, Sergey V. Udaltsov) + Tue Jun 3 17:39:16 2003 Owen Taylor #71597, reported by Morten Welinder diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index dffbf3720c..0dfd0942ca 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +Tue Jun 3 18:32:30 2003 Owen Taylor + + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't + respond to pings on a root window; prevents infinite + loops if we are selecting for SubstructureNotify on the + root window. (#111945, Sergey V. Udaltsov) + Tue Jun 3 17:39:16 2003 Owen Taylor #71597, reported by Morten Welinder diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c index fbdc68e5b1..4da85c7560 100644 --- a/gdk/x11/gdkevents-x11.c +++ b/gdk/x11/gdkevents-x11.c @@ -1889,7 +1889,9 @@ gdk_wm_protocols_filter (GdkXEvent *xev, XSync (GDK_WINDOW_XDISPLAY (win), False); gdk_error_trap_pop (); } - else if ((Atom) xevent->xclient.data.l[0] == gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_PING")) + else if ((Atom) xevent->xclient.data.l[0] == gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_PING") && + !_gdk_x11_display_is_root_window (display, + xevent->xclient.window)) { XEvent xev = *xevent;