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;
+            }
         }
     }
 

Reply via email to