From fb9342952eb91e7542f2d279061013cfbb990645 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 29 Sep 2011 15:29:24 +0200 Subject: trap BadWindow (and similar) X errors when calling XGetWindowProperty() (LP: #834403) --- src/canberra-gtk-module.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c index 63f9465..e777121 100644 --- a/src/canberra-gtk-module.c +++ b/src/canberra-gtk-module.c @@ -370,6 +370,8 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { xembed = gdk_x11_get_xatom_by_name_for_display(d, "_XEMBED_INFO"); + /* be robust against not existing XIDs (LP: #834403) */ + gdk_error_trap_push(); if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), xembed, 0, 2, False, xembed, &type_return, @@ -377,6 +379,7 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { &data) != Success) { return FALSE; } + gdk_error_trap_pop_ignored(); if (type_return == xembed && format_return == 32 && data) ret = TRUE; -- cgit