Hello community, here is the log from the commit of package xorg-x11 checked in at Wed Nov 28 23:53:36 CET 2007. -------- --- xorg-x11/xorg-x11.changes 2007-11-09 16:48:45.000000000 +0100 +++ /mounts/work_src_done/STABLE/xorg-x11/xorg-x11.changes 2007-11-27 19:04:49.359308000 +0100 @@ -1,0 +2,8 @@ +Tue Nov 27 19:11:34 CET 2007 - sndirsch@suse.de + +- xrandr-commit-307f368.diff + * Verify crtc against previous config. +- xrandr-commit-f7aaf89.diff + * Always reset other outputs using the best crtc. + +------------------------------------------------------------------- New: ---- xrandr-commit-307f368.diff xrandr-commit-f7aaf89.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11.spec ++++++ --- /var/tmp/diff_new_pack.A28746/_old 2007-11-28 23:52:56.000000000 +0100 +++ /var/tmp/diff_new_pack.A28746/_new 2007-11-28 23:52:56.000000000 +0100 @@ -18,7 +18,7 @@ %endif Url: http://xorg.freedesktop.org/ Version: 7.3 -Release: 19 +Release: 25 License: X11/MIT BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Utilities @@ -149,6 +149,8 @@ Patch20: xdm.diff Patch21: xvidtune.diff Patch24: xauth-1.0.2.diff +Patch25: xrandr-commit-307f368.diff +Patch26: xrandr-commit-f7aaf89.diff %description This package contains the X.Org core and sample applications. @@ -230,6 +232,8 @@ popd patch -d scripts-* -p0 -s < %PATCH19 patch -d xvidtune-* -p0 -s < %PATCH21 +patch -d xrandr-* -p1 -s < %PATCH25 +patch -d xrandr-* -p1 -s < %PATCH26 %build @@ -453,7 +457,13 @@ %ghost /var/log/xdm.errors %ghost /var/run/xdm.pid /var/lib/xdm/authdir/ + %changelog +* Tue Nov 27 2007 - sndirsch@suse.de +- xrandr-commit-307f368.diff + * Verify crtc against previous config. +- xrandr-commit-f7aaf89.diff + * Always reset other outputs using the best crtc. * Fri Nov 09 2007 - sndirsch@suse.de - /etc/X11/xdm/Xsetup * added -always-on-top option to xvkbd call (Bug #304399) ++++++ xrandr-commit-307f368.diff ++++++ commit 307f3686d3d517cb29b8e66d8ad2ff76a48748b7 Author: Matthias Hopf <mhopf@suse.de> Date: Mon Nov 12 15:18:30 2007 +0100 Verify crtc against previous config. When selecting a crtc for an output, it doesn't check for already attached outputs in check_crtc_for_output(), and so may select an crtc that is already in use. E.g. when changing from a cloned mode the displays won't be split up to different crtcs, but the same crtc will be used, changing the resolution for the unspecified display as well. diff --git a/xrandr.c b/xrandr.c index 2fb1212..493badf 100644 --- a/xrandr.c +++ b/xrandr.c @@ -1284,6 +1284,20 @@ check_crtc_for_output (crtc_t *crtc, output_t *output) if (crtc->rotation != output->rotation) return False; } + else if (crtc->crtc_info->noutput) + { + /* make sure the state matches the already used state */ + XRRModeInfo *mode = find_mode_by_xid (crtc->crtc_info->mode); + + if (mode != output->mode_info) + return False; + if (crtc->crtc_info->x != output->x) + return False; + if (crtc->crtc_info->y != output->y) + return False; + if (crtc->crtc_info->rotation != output->rotation) + return False; + } return True; } @@ -1544,11 +1558,18 @@ pick_crtcs (void) */ for (output = outputs; output; output = output->next) { - if (output->changes && output->mode_info && !output->crtc_info) + if (output->changes && output->mode_info) { - output->crtc_info = find_crtc_for_output (output); - if (!output->crtc_info) - break; + if (output->crtc_info) { + if (output->crtc_info->crtc_info->noutput > 0 && + (output->crtc_info->crtc_info->noutput > 1 || + output != find_output_by_xid (output->crtc_info->crtc_info->outputs[0]))) + break; + } else { + output->crtc_info = find_crtc_for_output (output); + if (!output->crtc_info) + break; + } } } /* ++++++ xrandr-commit-f7aaf89.diff ++++++ commit f7aaf8947a0f216ffedc7040b0a1ef153b471425 Author: Matthias Hopf <mhopf@suse.de> Date: Mon Nov 12 15:19:52 2007 +0100 Always reset other outputs using the best crtc. pick_crtcs_score() didn't set up crtcs references correctly if anything but the last output resulted in the best score. diff --git a/xrandr.c b/xrandr.c index 493badf..2ae31ee 100644 --- a/xrandr.c +++ b/xrandr.c @@ -1534,14 +1534,13 @@ pick_crtcs_score (output_t *outputs) best_score = score; } } + if (output->crtc_info != best_crtc) + output->crtc_info = best_crtc; /* * Reset other outputs based on this one using the best crtc */ - if (output->crtc_info != best_crtc) - { - output->crtc_info = best_crtc; - (void) pick_crtcs_score (outputs); - } + (void) pick_crtcs_score (outputs); + return best_score; } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de