mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 12:32:05 +00:00
Remove the hack from bug 128200; it isn't needed anymore with the fix from
2005-01-09 Elijah Newren <newren@gmail.com> * src/display.c (meta_display_open): * src/display.h (struct _MetaDisplay): * src/window.c (meta_window_free, meta_window_client_message, meta_window_notify_focus): Remove the hack from bug 128200; it isn't needed anymore with the fix from bug #160470.
This commit is contained in:
parent
be29c69653
commit
7d747092a6
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
2005-01-09 Elijah Newren <newren@gmail.com>
|
||||
|
||||
* src/display.c (meta_display_open):
|
||||
* src/display.h (struct _MetaDisplay):
|
||||
* src/window.c (meta_window_free, meta_window_client_message,
|
||||
meta_window_notify_focus):
|
||||
|
||||
Remove the hack from bug 128200; it isn't needed anymore with the
|
||||
fix from bug #160470.
|
||||
|
||||
2005-01-09 Elijah Newren <newren@gmail.com>
|
||||
|
||||
Don't focus the panel on click. Fixes #160470 (and 100470 and
|
||||
|
@ -330,7 +330,6 @@ meta_display_open (const char *name)
|
||||
display->autoraise_timeout_id = 0;
|
||||
display->autoraise_window = NULL;
|
||||
display->focus_window = NULL;
|
||||
display->previously_focused_window = NULL;
|
||||
display->expected_focus_window = NULL;
|
||||
|
||||
#ifdef HAVE_XSYNC
|
||||
|
@ -188,10 +188,6 @@ struct _MetaDisplay
|
||||
*/
|
||||
MetaWindow *focus_window;
|
||||
|
||||
/* Window that was the actual window from focus events before focus_window
|
||||
*/
|
||||
MetaWindow *previously_focused_window;
|
||||
|
||||
/* window we are expecting a FocusIn event for or the current focus
|
||||
* window if we are not expecting any FocusIn/FocusOut events; not
|
||||
* perfect because applications can call XSetInputFocus directly.
|
||||
|
28
src/window.c
28
src/window.c
@ -950,8 +950,6 @@ meta_window_free (MetaWindow *window)
|
||||
|
||||
if (window->display->focus_window == window)
|
||||
window->display->focus_window = NULL;
|
||||
if (window->display->previously_focused_window == window)
|
||||
window->display->previously_focused_window = NULL;
|
||||
|
||||
meta_window_unqueue_calc_showing (window);
|
||||
meta_window_unqueue_move_resize (window);
|
||||
@ -3970,29 +3968,7 @@ meta_window_client_message (MetaWindow *window,
|
||||
event->xclient.data.l[0]);
|
||||
if (event->xclient.data.l[0] == IconicState &&
|
||||
window->has_minimize_func)
|
||||
{
|
||||
meta_window_minimize (window);
|
||||
|
||||
/* If the window being minimized was the one with focus,
|
||||
* then we should focus a new window. We often receive this
|
||||
* wm_change_state message when a user has clicked on the
|
||||
* tasklist on the panel; in those cases, the current
|
||||
* focus_window is the panel, but the previous focus_window
|
||||
* will have been this one. This is a special case where we
|
||||
* need to manually handle focusing a new window because
|
||||
* meta_window_minimize will get it wrong.
|
||||
*/
|
||||
if (window->display->focus_window &&
|
||||
(window->display->focus_window->type == META_WINDOW_DOCK ||
|
||||
window->display->focus_window->type == META_WINDOW_DESKTOP) &&
|
||||
window->display->previously_focused_window == window)
|
||||
{
|
||||
meta_topic (META_DEBUG_FOCUS,
|
||||
"Focusing default window because of minimization of former focus window %s, which was due to a wm_change_state client message\n",
|
||||
window->desc);
|
||||
meta_workspace_focus_default_window (window->screen->active_workspace, window, meta_display_get_current_time_roundtrip (window->display));
|
||||
}
|
||||
}
|
||||
meta_window_minimize (window);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@ -4296,8 +4272,6 @@ meta_window_notify_focus (MetaWindow *window,
|
||||
meta_topic (META_DEBUG_FOCUS,
|
||||
"* Focus --> NULL (was %s)\n", window->desc);
|
||||
|
||||
window->display->previously_focused_window =
|
||||
window->display->focus_window;
|
||||
window->display->focus_window = NULL;
|
||||
window->has_focus = FALSE;
|
||||
if (window->frame)
|
||||
|
Loading…
Reference in New Issue
Block a user