From 546fe7b5b301138af8e2fc252666c0545c933f38 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Mon, 4 Oct 2004 20:39:21 +0000 Subject: When no window becomes focused, focus the default window instead of 2004-10-04 Elijah Newren * src/display.c (event_callback): When no window becomes focused, focus the default window instead of punting to the no_focus_window. Also, change the warning to a verbose message--this will happen frequently due to brain-damage in the X protocol. (see #125492) --- src/display.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) (limited to 'src/display.c') diff --git a/src/display.c b/src/display.c index 1214e8d4..ebf3065a 100644 --- a/src/display.c +++ b/src/display.c @@ -1838,28 +1838,10 @@ event_callback (XEvent *event, if (event->type == FocusIn && event->xfocus.detail == NotifyDetailNone) { - XEvent property_event; + meta_topic (META_DEBUG_FOCUS, + "Focus got set to None, probably due to brain-damage in the X protocol (see bug 125492). Setting the default focus window.\n"); - /* FIXME _() gettextify on HEAD */ - meta_warning ("Working around an application which called XSetInputFocus (None) or with RevertToNone instead of RevertToPointerRoot, this is a minor bug in some application. If you can figure out which application causes this please report it as a bug against that application.\n"); - - /* Fix the problem */ - /* Using the property XA_PRIMARY because it's safe; - * nothing would use it as a property. The type - * doesn't matter. - */ - XChangeProperty (display->xdisplay, - display->leader_window, - XA_PRIMARY, XA_STRING, 8, - PropModeAppend, NULL, 0); - XWindowEvent (display->xdisplay, - display->leader_window, - PropertyChangeMask, - &property_event); - XSetInputFocus (display->xdisplay, - display->no_focus_window, - RevertToPointerRoot, - property_event.xproperty.time); + meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_thou_shalt_return_a_timestamp (display)); } } break; -- cgit v1.2.1