xwayland: Use the right nameLength by default
When creating the output with the default "XWAYLAND<n>" name, we use
the MAX_OUTPUT_NAME value to allocate a lot more memory than necessary
to accommodate for future output names once they get updated, but by
doing so, we also send XRandR way too much (zeroed) data since the
"nameLength" value is (purposely) set too big.
So, instead, let's just update the name after creating the RR output,
this way we set both the name and nameLength to their correct values
while keeping the initial large allocation.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Fixes: 3c07a01c42
- xwayland: Use xdg-output name for XRandR
Reviewed-by: Simon Ser <contact@emersion.fr>
This commit is contained in:
parent
0e314afef6
commit
83453fb51e
|
@ -847,9 +847,6 @@ xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id,
|
|||
xwl_output->xwl_screen = xwl_screen;
|
||||
|
||||
if (with_xrandr) {
|
||||
snprintf(name, MAX_OUTPUT_NAME, "XWAYLAND%d",
|
||||
xwl_screen_get_next_output_serial(xwl_screen));
|
||||
|
||||
xwl_output->randr_crtc = RRCrtcCreate(xwl_screen->screen, xwl_output);
|
||||
if (!xwl_output->randr_crtc) {
|
||||
ErrorF("Failed creating RandR CRTC\n");
|
||||
|
@ -857,12 +854,17 @@ xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id,
|
|||
}
|
||||
RRCrtcSetRotations (xwl_output->randr_crtc, ALL_ROTATIONS);
|
||||
|
||||
/* Allocate MAX_OUTPUT_NAME data for the output name, all filled with zeros */
|
||||
xwl_output->randr_output = RROutputCreate(xwl_screen->screen, name,
|
||||
MAX_OUTPUT_NAME, xwl_output);
|
||||
if (!xwl_output->randr_output) {
|
||||
ErrorF("Failed creating RandR Output\n");
|
||||
goto err;
|
||||
}
|
||||
/* Set the default output name to a sensible value */
|
||||
snprintf(name, MAX_OUTPUT_NAME, "XWAYLAND%d",
|
||||
xwl_screen_get_next_output_serial(xwl_screen));
|
||||
xwl_output_set_name(xwl_output, name);
|
||||
xwl_output_set_emulated(xwl_output);
|
||||
|
||||
RRCrtcGammaSetSize(xwl_output->randr_crtc, 256);
|
||||
|
|
Loading…
Reference in New Issue