metacity/metacity-2.28-visual-bell.patch
Owen Taylor 97b03230fd - Require gnome-themes rather than nodoka-metacity-theme (rhbz 532455,
Stijn Hoop)
- Add patches for GNOME bugs
445447 - Application-induced window raise fails when raise_on_click off
    (rhbz 526045)
530702 - compiz doesn't start if metacity compositor is enabled (rhbz
    537791)
559816 - Doesn't update keybindings being disabled/cleared (rhbz 532282)
567528 - Cannot raise windows from applications in Tcl/Tk and Java (rhbz
    503522)
577576 - Failed to read saved session file warning on new sessions (rhbz
    493245)
598231 - When Chromium rings the bell, metacity quits(rhbz 532282)
598995 - Don't focus ancestor window on a different workspace (rhbz 237158)
599097 - For mouse and sloppy focus, return to "mouse mode" on motion (rhbz
    530261)
599248 - Add no_focus_windows preference to list windows that shouldn't be
    focused (rhbz 530262)
599261 - Add a new_windows_always_on_top preference (rhbz 530263)
599262 - Add XFCE Terminal as a terminal
604319 - XIOError unknown display (rhbz 537845)
2009-12-10 23:33:00 +00:00

42 lines
1.3 KiB
Diff

From 80bd3db7b6711c90af19c7ee17e86aea0b804d7c Mon Sep 17 00:00:00 2001
From: Owen W. Taylor <otaylor@fishsoup.net>
Date: Fri, 20 Nov 2009 10:08:20 -0500
Subject: [PATCH] Don't crash for visual bell on undecorated window
When an XKB bell is sent on a undecorated window, flash the
entire screen rather than crashing trying to flash the frame.
Based on patch by Daniel Erat
https://bugzilla.gnome.org/show_bug.cgi?id=598231
---
src/core/bell.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/core/bell.c b/src/core/bell.c
index 1e01cd6..9904f97 100644
--- a/src/core/bell.c
+++ b/src/core/bell.c
@@ -231,15 +231,16 @@ bell_flash_frame (MetaDisplay *display,
g_assert (xkb_ev->xkb_type == XkbBellNotify);
window = meta_display_lookup_x_window (display, xkb_bell_event->window);
- if (!window && (display->focus_window) && (display->focus_window->frame))
+ if (!window)
{
window = display->focus_window;
}
- if (window)
+ if (window && window->frame)
{
bell_flash_window_frame (window);
}
- else /* revert to fullscreen flash if there's no focussed window */
+ else /* revert to fullscreen flash if there's no focused window or if it
+ has no frame */
{
bell_flash_fullscreen (display, xkb_ev);
}
--
1.6.5.2