Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xrandr for openSUSE:Factory checked in at 2024-11-08 11:55:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xrandr (Old) and /work/SRC/openSUSE:Factory/.xrandr.new.2017 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xrandr" Fri Nov 8 11:55:54 2024 rev:18 rq:1222571 version:1.5.3 Changes: -------- --- /work/SRC/openSUSE:Factory/xrandr/xrandr.changes 2024-02-27 22:45:01.703315103 +0100 +++ /work/SRC/openSUSE:Factory/.xrandr.new.2017/xrandr.changes 2024-11-08 11:58:25.683080507 +0100 @@ -1,0 +2,8 @@ +Thu Nov 7 19:45:46 UTC 2024 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 1.5.3 + * set_gamma_info: remove unnecessary round-trip to server + * Reworked transform fix from Arsalan Awan + * xrandr: Print/consume the CTM prop in human readable form + +------------------------------------------------------------------- Old: ---- xrandr-1.5.2.tar.xz New: ---- xrandr-1.5.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xrandr.spec ++++++ --- /var/tmp/diff_new_pack.LxfI0Y/_old 2024-11-08 11:58:27.107139894 +0100 +++ /var/tmp/diff_new_pack.LxfI0Y/_new 2024-11-08 11:58:27.135141061 +0100 @@ -1,7 +1,7 @@ # # spec file for package xrandr # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: xrandr -Version: 1.5.2 +Version: 1.5.3 Release: 0 Summary: Primitive command line interface to RandR extension License: MIT ++++++ xrandr-1.5.2.tar.xz -> xrandr-1.5.3.tar.xz ++++++ ++++ 10751 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xrandr-1.5.2/ChangeLog new/xrandr-1.5.3/ChangeLog --- old/xrandr-1.5.2/ChangeLog 2022-12-04 00:49:18.000000000 +0100 +++ new/xrandr-1.5.3/ChangeLog 2024-11-07 19:24:18.000000000 +0100 @@ -1,3 +1,55 @@ +commit 0591ca56f9628d1a1a691160d79d9afb0f225c4d +Author: Matt Turner <matts...@gmail.com> +Date: Thu Nov 7 13:02:28 2024 -0500 + + xrandr 1.5.3 + + Part-of: <https://gitlab.freedesktop.org/xorg/app/xrandr/-/merge_requests/14> + +commit 9362e430f59b9fb47129122fa3a5db687819d74d +Author: Justin Mayfield <too...@gmail.com> +Date: Mon Aug 7 15:34:11 2023 -0600 + + Reworked transform fix from Arsalan Awan + + Check that the transform for a display is unmodified before allowing it + to be skipped during an update. + + This is a reworked patch from Arsalan Awan's 2017 post: + https://lists.x.org/archives/xorg-devel/2017-December/055482.html + + Fixes #36 + + Part-of: <https://gitlab.freedesktop.org/xorg/app/xrandr/-/merge_requests/11> + +commit b05887508dcf65a58204fb69763e1a7846d2e857 +Author: Ville Syrjälä <ville.syrj...@linux.intel.com> +Date: Tue Apr 11 12:31:06 2023 +0300 + + xrandr: Print/consume the CTM prop in human readable form + + Print/consume the CTM in floats for easier human consumption. + + Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xrandr/-/merge_requests/10> + +commit 71ab94418ead8f59c6124e8b3e53f8df7340f095 +Author: Alan Coopersmith <alan.coopersm...@oracle.com> +Date: Mon Sep 18 14:06:41 2023 -0700 + + set_gamma_info: remove unnecessary round-trip to server + + XRRGetCrtcGamma() returns the exact same size information as + XRRGetCrtcGammaSize(), so just use it instead of waiting for + the X server to send it an extra time. + + (And if something has gone very wrong so that they aren't the same, + this avoids out-of-bounds reads processing the returned gamma arrays + by using the size of the arrays we allocated.) + + Reported-by: Gregory James DUCK <gjd...@gmail.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + commit 6f714830da6c8d74f024be6b0bb32c1ea39c1217 Author: Alan Coopersmith <alan.coopersm...@oracle.com> Date: Sat Dec 3 15:47:06 2022 -0800 @@ -179,7 +231,7 @@ Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> commit 9882680c9f7f433a47514a9cb799c79e3e10a024 -Author: Pali Rohár <pali.ro...@gmail.com> +Author: Pali Rohár <pali.ro...@gmail.com> Date: Sat Mar 10 16:23:29 2018 +0100 Document that --dpi and --fbmm options set DPI of whole X screen @@ -290,7 +342,7 @@ Signed-off-by: Aaron Plattner <aplatt...@nvidia.com> commit 5d5db88d106a49d7560a8042fa054df8b609f00a -Author: Pali Rohár <pali.ro...@gmail.com> +Author: Pali Rohár <pali.ro...@gmail.com> Date: Sun May 28 23:33:26 2017 +0200 Document format of --dpi option in non-ambiguous way @@ -504,7 +556,7 @@ xrandr.c commit 193a358563a59c1a3fc55f55029c605e2419c80b -Author: Stéphane Aulery <lk...@free.fr> +Author: Stéphane Aulery <lk...@free.fr> Date: Sat Jun 29 16:50:25 2013 -0700 Mention of --brightness with -h option @@ -609,7 +661,7 @@ Signed-off-by: Aaron Plattner <aplatt...@nvidia.com> commit 00c795e99fe29ecd56e05e915e508c7af0ac39ad -Author: Ville Syrjälä < <ville.syrj...@linux.intel.com> +Author: Ville Syrjälä <ville.syrj...@linux.intel.com> Date: Fri May 31 17:01:54 2013 +0300 xrandr: Use floating point for VTotal when calculating refresh rate @@ -622,7 +674,7 @@ Reviewed-by: Aaron Plattner <aplatt...@nvidia.com> commit 8f9b993342fddfceaa1afbec2996ce10038f10d7 -Author: Ville Syrjälä < <ville.syrj...@linux.intel.com> +Author: Ville Syrjälä <ville.syrj...@linux.intel.com> Date: Fri May 31 17:01:53 2013 +0300 xrandr: Use more decimal places when printing various rates @@ -1530,7 +1582,7 @@ Signed-off-by: Gaetan Nadon <mems...@videotron.ca> commit ac6606d8da914610446c5327813798bfbba4d6c2 -Author: Ãric Piel <eric.p...@tremplin-utc.net> +Author: Ãric Piel <eric.p...@tremplin-utc.net> Date: Wed Jan 6 14:42:15 2010 +0100 xrandr: fix brightness to prevent gamma to overflow and to allow 0 @@ -1686,7 +1738,7 @@ Reviewed-by: Rémi Cardona <r...@gentoo.org> commit b84560759141ed52b8779c184184f888e9be8b2f -Author: Ãric Piel <eric.p...@tremplin-utc.net> +Author: Ãric Piel <eric.p...@tremplin-utc.net> Date: Mon Oct 26 14:11:02 2009 +0100 xrandr: do not segfault when "--scale" or "--transform" have no output @@ -1700,7 +1752,7 @@ Signed-off-by: Matthias Hopf <mh...@suse.de> commit 34829957441a10f6b6e31141aa1018f7a72aeaf9 -Author: Ãric Piel <eric.p...@tremplin-utc.net> +Author: Ãric Piel <eric.p...@tremplin-utc.net> Date: Mon Oct 26 13:57:10 2009 +0100 xrandr: make --query really the default option @@ -1790,7 +1842,7 @@ Signed-off-by: Federico Mena Quintero <feder...@novell.com> commit 68d5134142e3c616f3996c7ea8d08c887ce56118 -Author: Ãric Piel <e.a.b.p...@tudelft.nl> +Author: Ãric Piel <e.a.b.p...@tudelft.nl> Date: Tue Jul 14 21:36:32 2009 +0200 xrandr: Document --nograb option @@ -1923,7 +1975,7 @@ Several fatal() were missing \n. commit 9ea6e4210d49c13991a7d07e54f6f59e3dc8ce72 -Author: Ãric Piel <e.a.b.p...@tudelft.nl> +Author: Ãric Piel <e.a.b.p...@tudelft.nl> Date: Mon Jan 19 16:18:46 2009 +0100 Add docs for --transform and --scale. @@ -3040,7 +3092,7 @@ configure cache, you cache it, and the cached value is probably wrong. commit 5666f22654447eb381186a85a8e1630d419b0a88 -Author: Søren Sandmann Pedersen <sandm...@daimi.au.dk> +Author: Søren Sandmann Pedersen <sandm...@daimi.au.dk> Date: Fri Jul 1 20:27:45 2005 +0000 Build systems for xrdb, xrandr, xrefresh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xrandr-1.5.2/config.h.in new/xrandr-1.5.3/config.h.in --- old/xrandr-1.5.2/config.h.in 2022-12-04 00:49:13.000000000 +0100 +++ new/xrandr-1.5.3/config.h.in 2024-11-07 19:24:15.000000000 +0100 @@ -3,7 +3,7 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `m' library (-lm). */ +/* Define to 1 if you have the 'm' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the <stdint.h> header file. */ @@ -60,7 +60,7 @@ /* Patch version of this package */ #undef PACKAGE_VERSION_PATCHLEVEL -/* Define to 1 if all of the C90 standard headers exist (not just the ones +/* Define to 1 if all of the C89 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xrandr-1.5.2/configure.ac new/xrandr-1.5.3/configure.ac --- old/xrandr-1.5.2/configure.ac 2022-12-04 00:49:09.000000000 +0100 +++ new/xrandr-1.5.3/configure.ac 2024-11-07 19:24:13.000000000 +0100 @@ -22,7 +22,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([xrandr], [1.5.2], +AC_INIT([xrandr], [1.5.3], [https://gitlab.freedesktop.org/xorg/app/xrandr/-/issues], [xrandr]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xrandr-1.5.2/xrandr.c new/xrandr-1.5.3/xrandr.c --- old/xrandr-1.5.2/xrandr.c 2022-12-04 00:49:09.000000000 +0100 +++ new/xrandr-1.5.3/xrandr.c 2024-11-07 19:24:13.000000000 +0100 @@ -1063,17 +1063,12 @@ if (!output->crtc_info) return; - size = XRRGetCrtcGammaSize(dpy, output->crtc_info->crtc.xid); - if (!size) { - warning("Failed to get size of gamma for output %s\n", output->output.string); - return; - } - crtc_gamma = XRRGetCrtcGamma(dpy, output->crtc_info->crtc.xid); if (!crtc_gamma) { warning("Failed to get gamma for output %s\n", output->output.string); return; } + size = crtc_gamma->size; /* * Here is a bit tricky because gamma is a whole curve for each @@ -1691,8 +1686,8 @@ XGrabServer (dpy); /* - * Turn off any crtcs which are to be disabled or which are - * larger than the target size + * Turn off any crtcs which are to be disabled or which + * need to be updated */ for (int c = 0; c < res->ncrtc; c++) { @@ -1705,30 +1700,32 @@ /* * If this crtc is to be left enabled, make - * sure the old size fits then new screen + * sure the new geometry is unchanged and fits */ if (crtc->mode_info) { XRRModeInfo *old_mode = find_mode_by_xid (crtc_info->mode); - int x, y, w, h; - box_t bounds; + box_t cur, pending; if (!old_mode) panic (RRSetConfigFailed, crtc); - - /* old position and size information */ - mode_geometry (old_mode, crtc_info->rotation, - &crtc->current_transform.transform, - &bounds); - x = crtc_info->x + bounds.x1; - y = crtc_info->y + bounds.y1; - w = bounds.x2 - bounds.x1; - h = bounds.y2 - bounds.y1; - - /* if it fits, skip it */ - if (x + w <= fb_width && y + h <= fb_height) - continue; + mode_geometry (old_mode, crtc_info->rotation, + &crtc->current_transform.transform, &cur); + mode_geometry (crtc->mode_info, crtc_info->rotation, + &crtc->pending_transform.transform, &pending); + + if (cur.x1 == pending.x1 && cur.x2 == pending.x2 && + cur.y1 == pending.y1 && cur.y2 == pending.y2) { + int x = crtc_info->x + cur.x1; + int y = crtc_info->y + cur.y1; + int w = cur.x2 - cur.x1; + int h = cur.y2 - cur.y1; + + /* if it fits, skip it */ + if (x + w <= fb_width && y + h <= fb_height) + continue; + } crtc->changing = True; } s = crtc_disable (crtc); @@ -2274,6 +2271,38 @@ return result; } +static void * +ctm_from_string(const char *str, int *returned_nitems) +{ + double ctm[9]; + long *prop; + int i; + + if (sscanf (str, "%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf", + &ctm[0],&ctm[1],&ctm[2], + &ctm[3],&ctm[4],&ctm[5], + &ctm[6],&ctm[7],&ctm[8]) != 9) + return NULL; + + prop = malloc (2*9*sizeof(prop[0])); + if (!prop) + return NULL; + + for (i = 0; i < 9; i++) { + unsigned long long tmp; + + tmp = fabs (ctm[i]) * (1ULL << 32); + if (ctm[i] < 0.0) + tmp |= 1ULL << 63; + + prop[i*2+0] = tmp & 0xffffffff; + prop[i*2+1] = tmp >> 32; + } + + *returned_nitems = 2*9; + + return prop; +} static void * property_values_from_string(const char *str, const Atom type, const int format, @@ -2462,6 +2491,32 @@ } static void +print_ctm(const unsigned long *prop) +{ + printf("\t"); + for (int i = 0; i < 9; i++) + { + unsigned long long tmp; + double c; + + tmp = prop[2*i+1]; + tmp <<= 32; + tmp |= prop[2*i+0]; + + c = (double)(tmp & ~(1ULL << 63)) / (1ULL << 32); + if (tmp & (1ULL << 63)) + c = -c; + + printf("%f", c); + if (i == 2 || i == 5) + printf("\n\t\t"); + else if (i != 8) + printf(" "); + } + printf("\n"); +} + +static void print_output_property(const char *atom_name, int value_format, Atom value_type, @@ -2498,6 +2553,12 @@ print_guid (prop); return; } + else if (strcmp (atom_name, "CTM") == 0 && value_format == 32 && + value_type == XA_INTEGER && nitems == 9*2) + { + print_ctm ((unsigned long *)prop); + return; + } for (int k = 0; k < nitems; k++) { @@ -3364,6 +3425,7 @@ for (output_prop_t *prop = output->props; prop; prop = prop->next) { Atom name = XInternAtom (dpy, prop->name, False); + char *atom_name = XGetAtomName (dpy, name); Atom type; int format = 0; unsigned char *data, *malloced_data = NULL; @@ -3391,8 +3453,12 @@ format = actual_format; } - malloced_data = property_values_from_string - (prop->value, type, actual_format, &nelements); + if (strcmp (atom_name, "CTM") == 0 && type == XA_INTEGER && actual_format == 32) + malloced_data = ctm_from_string (prop->value, &nelements); + + if (!malloced_data) + malloced_data = property_values_from_string (prop->value, type, + actual_format, &nelements); if (malloced_data) {