mirror of
https://github.com/brl/mutter.git
synced 2025-02-11 19:04:10 +00:00
display: Make focus info persistent
It must not be freed (at least meanwhile the device pair exists), so ensure it's kept around, and we don't create info for a same keyboard twice.
This commit is contained in:
parent
8037cc5ec4
commit
ae1290e3b4
@ -626,8 +626,7 @@ meta_display_open (void)
|
||||
|
||||
the_display->current_grabs = g_hash_table_new_full (NULL, NULL, NULL,
|
||||
(GDestroyNotify) g_free);
|
||||
the_display->focus_info = g_hash_table_new_full (NULL, NULL, NULL,
|
||||
(GDestroyNotify) g_free);
|
||||
the_display->focus_info = g_hash_table_new (NULL, NULL);
|
||||
the_display->edge_resistance_info = g_hash_table_new (NULL, NULL);
|
||||
|
||||
#ifdef HAVE_XSYNC
|
||||
@ -6172,13 +6171,13 @@ meta_display_get_focus_info (MetaDisplay *display,
|
||||
if (!device)
|
||||
return NULL;
|
||||
|
||||
if (!META_IS_DEVICE_KEYBOARD (device))
|
||||
device = meta_device_get_paired_device (device);
|
||||
|
||||
info = g_hash_table_lookup (display->focus_info, device);
|
||||
|
||||
if (!info)
|
||||
{
|
||||
if (!META_IS_DEVICE_KEYBOARD (device))
|
||||
device = meta_device_get_paired_device (device);
|
||||
|
||||
info = g_slice_new0 (MetaFocusInfo);
|
||||
info->last_focus_time = display->current_time;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user