mirror of
https://github.com/brl/mutter.git
synced 2025-02-16 13:24:09 +00:00
set event mask on root window to 0 so other window managers (such as
2002-01-04 Havoc Pennington <hp@pobox.com> * src/screen.c (meta_screen_free): set event mask on root window to 0 so other window managers (such as ourselves restarting) can start up; addresses race condition on restart where the old WM still had RedirectMask when the new WM was trying to start up. * src/display.c (meta_display_close): free each screen * src/window.c (meta_window_show): always focus new windows in click-to-focus mode
This commit is contained in:
parent
501a60ab20
commit
60f48e44ff
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
2002-01-04 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
|
* src/screen.c (meta_screen_free): set event mask on root window
|
||||||
|
to 0 so other window managers (such as ourselves restarting) can
|
||||||
|
start up; addresses race condition on restart where the old WM
|
||||||
|
still had RedirectMask when the new WM was trying to start up.
|
||||||
|
|
||||||
|
* src/display.c (meta_display_close): free each screen
|
||||||
|
|
||||||
|
* src/window.c (meta_window_show): always focus new windows in
|
||||||
|
click-to-focus mode
|
||||||
|
|
||||||
2002-01-03 Havoc Pennington <hp@pobox.com>
|
2002-01-03 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* src/window.c: use meta_XFree not XFree
|
* src/window.c: use meta_XFree not XFree
|
||||||
|
@ -433,6 +433,18 @@ meta_display_close (MetaDisplay *display)
|
|||||||
event_callback,
|
event_callback,
|
||||||
display);
|
display);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Free all screens */
|
||||||
|
tmp = display->screens;
|
||||||
|
while (tmp != NULL)
|
||||||
|
{
|
||||||
|
MetaScreen *screen = tmp->data;
|
||||||
|
meta_screen_free (screen);
|
||||||
|
tmp = tmp->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_slist_free (display->screens);
|
||||||
|
display->screens = NULL;
|
||||||
|
|
||||||
/* Must be after all calls to meta_window_free() since they
|
/* Must be after all calls to meta_window_free() since they
|
||||||
* unregister windows
|
* unregister windows
|
||||||
|
@ -242,7 +242,7 @@ meta_screen_new (MetaDisplay *display,
|
|||||||
|
|
||||||
void
|
void
|
||||||
meta_screen_free (MetaScreen *screen)
|
meta_screen_free (MetaScreen *screen)
|
||||||
{
|
{
|
||||||
meta_prefs_remove_listener (prefs_changed_callback, screen);
|
meta_prefs_remove_listener (prefs_changed_callback, screen);
|
||||||
|
|
||||||
meta_screen_ungrab_keys (screen);
|
meta_screen_ungrab_keys (screen);
|
||||||
@ -250,6 +250,12 @@ meta_screen_free (MetaScreen *screen)
|
|||||||
meta_ui_free (screen->ui);
|
meta_ui_free (screen->ui);
|
||||||
|
|
||||||
meta_stack_free (screen->stack);
|
meta_stack_free (screen->stack);
|
||||||
|
|
||||||
|
meta_error_trap_push (screen->display);
|
||||||
|
XSelectInput (screen->display->xdisplay, screen->xroot, 0);
|
||||||
|
if (meta_error_trap_pop (screen->display) != Success)
|
||||||
|
meta_warning (_("Could not release screen %d on display '%s'\n"),
|
||||||
|
screen->number, screen->display->name);
|
||||||
|
|
||||||
g_free (screen->screen_name);
|
g_free (screen->screen_name);
|
||||||
g_free (screen);
|
g_free (screen);
|
||||||
|
@ -1108,6 +1108,11 @@ meta_window_show (MetaWindow *window)
|
|||||||
meta_display_get_current_time (window->display));
|
meta_display_get_current_time (window->display));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Always focus new windows in click-to-focus */
|
||||||
|
if (meta_prefs_get_focus_mode () == META_FOCUS_MODE_CLICK)
|
||||||
|
meta_window_focus (window,
|
||||||
|
meta_display_get_current_time (window->display));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user