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
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
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