mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 00:50:42 -05: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
f6d9b29ad0
commit
e6ba5ec298
@ -561,8 +561,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
|
||||
@ -5958,13 +5957,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…
Reference in New Issue
Block a user