Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xwayland for openSUSE:Factory checked in at 2022-05-26 18:43:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xwayland (Old) and /work/SRC/openSUSE:Factory/.xwayland.new.2254 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xwayland" Thu May 26 18:43:58 2022 rev:12 rq:979155 version:22.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/xwayland/xwayland.changes 2022-04-04 19:25:50.952910972 +0200 +++ /work/SRC/openSUSE:Factory/.xwayland.new.2254/xwayland.changes 2022-05-26 18:44:03.621177985 +0200 @@ -1,0 +2,8 @@ +Wed May 25 10:03:50 UTC 2022 - Stefan Dirsch <[email protected]> + +- Update to version 22.1.2 + * randr: Add "RANDR Emulation" property + * xwayland/output: Set the "RANDR Emulation" property + * xwayland: Fix invalid pointer access in drm_lease_device_handle_released. + +------------------------------------------------------------------- Old: ---- xwayland-22.1.1.tar.xz xwayland-22.1.1.tar.xz.sig New: ---- xwayland-22.1.2.tar.xz xwayland-22.1.2.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xwayland.spec ++++++ --- /var/tmp/diff_new_pack.WMCjna/_old 2022-05-26 18:44:04.277178750 +0200 +++ /var/tmp/diff_new_pack.WMCjna/_new 2022-05-26 18:44:04.281178754 +0200 @@ -24,7 +24,7 @@ %endif Name: xwayland -Version: 22.1.1 +Version: 22.1.2 Release: 0 URL: http://xorg.freedesktop.org/ Summary: X ++++++ xwayland-22.1.1.tar.xz -> xwayland-22.1.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwayland-22.1.1/.gitignore new/xwayland-22.1.2/.gitignore --- old/xwayland-22.1.1/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/xwayland-22.1.2/.gitignore 2022-05-25 10:38:55.000000000 +0200 @@ -0,0 +1,82 @@ +# +# X.Org module default exclusion patterns +# The next section if for module specific patterns +# +# Do not edit the following section +# GNU Build System (Autotools) +aclocal.m4 +autom4te.cache/ +autoscan.log +ChangeLog +compile +config.guess +config.h +config.h.in +config.log +config-ml.in +config.py +config.status +config.status.lineno +config.sub +configure +configure.scan +depcomp +.deps/ +INSTALL +install-sh +.libs/ +libtool +libtool.m4 +ltmain.sh +lt~obsolete.m4 +ltoptions.m4 +ltsugar.m4 +ltversion.m4 +Makefile +Makefile.in +mdate-sh +missing +mkinstalldirs +*.pc +py-compile +stamp-h? +symlink-tree +test-driver +texinfo.tex +ylwrap + +# Do not edit the following section +# Edit Compile Debug Document Distribute +*~ +*.[0-9] +*.[0-9]x +*.bak +*.bin +core +*.dll +*.exe +*-ISO*.bdf +*-JIS*.bdf +*-KOI8*.bdf +*.kld +*.ko +*.ko.cmd +*.lai +*.l[oa] +*.[oa] +*.obj +*.patch +*.so +*.pcf.gz +*.pdb +*.tar.bz2 +*.tar.gz +# +# Add & Override patterns for xserver +# +# Edit the following section as needed +# For example, !report.pc overrides *.pc. See 'man gitignore' +# +doltcompile +doltlibtool +xserver.ent diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwayland-22.1.1/hw/xwayland/xwayland-drm-lease.c new/xwayland-22.1.2/hw/xwayland/xwayland-drm-lease.c --- old/xwayland-22.1.1/hw/xwayland/xwayland-drm-lease.c 2022-03-31 09:57:25.655587000 +0200 +++ new/xwayland-22.1.2/hw/xwayland/xwayland-drm-lease.c 2022-05-25 10:38:55.000000000 +0200 @@ -386,7 +386,8 @@ drm_lease_device_handle_released(void *data, struct wp_drm_lease_device_v1 *wp_drm_lease_device_v1) { - xwl_screen_destroy_drm_lease_device(data, wp_drm_lease_device_v1); + struct xwl_drm_lease_device *lease_device = data; + xwl_screen_destroy_drm_lease_device(lease_device->xwl_screen, wp_drm_lease_device_v1); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwayland-22.1.1/hw/xwayland/xwayland-output.c new/xwayland-22.1.2/hw/xwayland/xwayland-output.c --- old/xwayland-22.1.1/hw/xwayland/xwayland-output.c 2022-03-31 09:57:25.657586800 +0200 +++ new/xwayland-22.1.2/hw/xwayland/xwayland-output.c 2022-05-25 10:38:55.000000000 +0200 @@ -720,6 +720,27 @@ xdg_output_handle_description, }; +#define XRANDR_EMULATION_PROP "RANDR Emulation" +static Atom +get_rand_emulation_property(void) +{ + const char *emulStr = XRANDR_EMULATION_PROP; + + return MakeAtom(emulStr, strlen(emulStr), TRUE); +} + +static void +xwl_output_set_emulated(struct xwl_output *xwl_output) +{ + int32_t val = TRUE; + + RRChangeOutputProperty(xwl_output->randr_output, + get_rand_emulation_property(), + XA_INTEGER, + 32, PropModeReplace, 1, + &val, FALSE, FALSE); +} + struct xwl_output * xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id) { @@ -758,6 +779,7 @@ ErrorF("Failed creating RandR Output\n"); goto err; } + xwl_output_set_emulated(xwl_output); RRCrtcGammaSetSize(xwl_output->randr_crtc, 256); RROutputSetCrtcs(xwl_output->randr_output, &xwl_output->randr_crtc, 1); @@ -896,6 +918,10 @@ Atom property, RRPropertyValuePtr value) { + /* RANDR Emulation property is read-only. */ + if (get_rand_emulation_property() == property) + return FALSE; + return TRUE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwayland-22.1.1/meson.build new/xwayland-22.1.2/meson.build --- old/xwayland-22.1.1/meson.build 2022-03-31 09:57:25.668587000 +0200 +++ new/xwayland-22.1.2/meson.build 2022-05-25 10:38:55.000000000 +0200 @@ -3,7 +3,7 @@ 'buildtype=debugoptimized', 'c_std=gnu99', ], - version: '22.1.1', + version: '22.1.2', meson_version: '>= 0.47.0', ) release_date = '2021-07-05' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwayland-22.1.1/randr/rrcrtc.c new/xwayland-22.1.2/randr/rrcrtc.c --- old/xwayland-22.1.1/randr/rrcrtc.c 2022-03-31 09:57:25.681587200 +0200 +++ new/xwayland-22.1.2/randr/rrcrtc.c 2022-05-25 10:38:55.000000000 +0200 @@ -717,6 +717,25 @@ return TRUE; } +#define XRANDR_EMULATION_PROP "RANDR Emulation" +static Bool +rrCheckEmulated(RROutputPtr output) +{ + const char *emulStr = XRANDR_EMULATION_PROP; + Atom emulProp; + RRPropertyValuePtr val; + + emulProp = MakeAtom(emulStr, strlen(emulStr), FALSE); + if (emulProp == None) + return FALSE; + + val = RRGetOutputProperty(output, emulProp, TRUE); + if (val && val->data) + return !!val->data; + + return FALSE; +} + /* * Request that the Crtc be reconfigured */ @@ -736,9 +755,11 @@ crtcChanged = FALSE; for (o = 0; o < numOutputs; o++) { - if (outputs[o] && outputs[o]->crtc != crtc) { - crtcChanged = TRUE; - break; + if (outputs[o]) { + if (rrCheckEmulated(outputs[o]) || (outputs[o]->crtc != crtc)) { + crtcChanged = TRUE; + break; + } } }
