mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05:00
input-mapper: Don't match touchscreens to the absence of a monitor
If there is no laptop panel (for example on a desktop PC or a virtual machine), attempting to put a NULL monitor in the list of matches will just make mapping_helper_apply() crash. Mitigates: https://gitlab.gnome.org/GNOME/mutter/-/issues/1414 Signed-off-by: Simon McVittie <smcv@debian.org>
This commit is contained in:
parent
af9df1e5b6
commit
e74b065fb5
@ -367,6 +367,8 @@ guess_candidates (MetaInputMapper *mapper,
|
|||||||
MetaOutputMatchType edid_match;
|
MetaOutputMatchType edid_match;
|
||||||
DeviceMatch match = { l->data, 0 };
|
DeviceMatch match = { l->data, 0 };
|
||||||
|
|
||||||
|
g_assert (META_IS_MONITOR (l->data));
|
||||||
|
|
||||||
if (match_edid (input, l->data, &edid_match))
|
if (match_edid (input, l->data, &edid_match))
|
||||||
match.score |= 1 << edid_match;
|
match.score |= 1 << edid_match;
|
||||||
|
|
||||||
@ -386,7 +388,10 @@ guess_candidates (MetaInputMapper *mapper,
|
|||||||
|
|
||||||
match.monitor =
|
match.monitor =
|
||||||
meta_monitor_manager_get_laptop_panel (mapper->monitor_manager);
|
meta_monitor_manager_get_laptop_panel (mapper->monitor_manager);
|
||||||
g_array_append_val (info->matches, match);
|
|
||||||
|
if (match.monitor != NULL)
|
||||||
|
g_array_append_val (info->matches, match);
|
||||||
|
|
||||||
info->best = 0;
|
info->best = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user