diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-04-20 20:55:21 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-04-20 21:41:48 -0400 |
commit | 9c84f7645e487558cf44e5489d0face8cac3314d (patch) | |
tree | cc83fa3c5595588be21b55d3b019595b80c09fb4 | |
parent | 191433bf0ac68e663083b2bbdb83bfb23474c6ea (diff) | |
download | gtk+-untrusted-beep-3.tar.gz |
x11: Don't beep on untrusted displaysuntrusted-beep-3
This can trigger BadAccess, and we don't
want that.
Fixes: #3862
-rw-r--r-- | gdk/x11/gdkdisplay-x11.c | 3 | ||||
-rw-r--r-- | gdk/x11/gdkwindow-x11.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 817944e3a5..7e08f472cc 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1964,6 +1964,9 @@ _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, static void gdk_x11_display_beep (GdkDisplay *display) { + if (!GDK_X11_DISPLAY (display)->trusted_client) + return; + #ifdef HAVE_XKB XkbBell (GDK_DISPLAY_XDISPLAY (display), None, 0, None); #else diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 38ff91da6d..721d9bb63a 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -5472,6 +5472,9 @@ gdk_x11_window_beep (GdkWindow *window) display = GDK_WINDOW_DISPLAY (window); + if (!GDK_X11_DISPLAY (display)->trusted_client) + return FALSE; + #ifdef HAVE_XKB if (GDK_X11_DISPLAY (display)->use_xkb) { |