randr: fix unconditional byte-swap in ProcRRGetProviderInfo()
The list of the associated provider's capabilities was always swapped
unconditionally, while it should only be in case of client having
opposite endianess.
Fixes: 426bc0a28e
Reported-By: dasha_uwu
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1977>
This commit is contained in:
parent
f0fd9f8bf4
commit
73f3c47608
|
@ -220,10 +220,11 @@ ProcRRGetProviderInfo (ClientPtr client)
|
||||||
}
|
}
|
||||||
if (provider->output_source) {
|
if (provider->output_source) {
|
||||||
providers[i] = provider->output_source->id;
|
providers[i] = provider->output_source->id;
|
||||||
if (client->swapped)
|
|
||||||
swapl(&providers[i]);
|
|
||||||
prov_cap[i] = RR_Capability_SourceOutput;
|
prov_cap[i] = RR_Capability_SourceOutput;
|
||||||
|
if (client->swapped) {
|
||||||
|
swapl(&providers[i]);
|
||||||
swapl(&prov_cap[i]);
|
swapl(&prov_cap[i]);
|
||||||
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
xorg_list_for_each_entry(provscreen, &pScreen->secondary_list, secondary_head) {
|
xorg_list_for_each_entry(provscreen, &pScreen->secondary_list, secondary_head) {
|
||||||
|
|
Loading…
Reference in New Issue