xorg-server: Changes to 'ubuntu'
debian/changelog | 6 ++
debian/patches/fix-detach-gpu.patch | 89 ++++++++++++++++++++++++++++++++++++
debian/patches/series | 1
3 files changed, 96 insertions(+)
New commits:
commit bde4ef51bfb29021ff8e979cc14b55fdaab34da8
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Mar 13 13:11:01 2014 +0100
release to trusty
diff --git a/debian/changelog b/debian/changelog
index 65a3122..6d3777d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-xorg-server (2:1.15.0-1ubuntu7) UNRELEASED; urgency=medium
+xorg-server (2:1.15.0-1ubuntu7) trusty; urgency=medium
* Fix crash in RRCrtcDetachScanoutPixmap. (LP: #1280743)
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 13 Mar 2014 12:32:19 +0100
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 13 Mar 2014 13:10:52 +0100
xorg-server (2:1.15.0-1ubuntu6) trusty; urgency=low
commit 353e45d377174636c074491db699eb8419644bf5
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Mar 13 13:10:32 2014 +0100
Fix crash in RRCrtcDetachScanoutPixmap. (LP: #1280743)
diff --git a/debian/changelog b/debian/changelog
index ce8e09d..65a3122 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.15.0-1ubuntu7) UNRELEASED; urgency=medium
+
+ * Fix crash in RRCrtcDetachScanoutPixmap. (LP: #1280743)
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 13 Mar 2014 12:32:19 +0100
+
xorg-server (2:1.15.0-1ubuntu6) trusty; urgency=low
* Add a small patch to hopefully fix FTBFS on ppc64el.
diff --git a/debian/patches/fix-detach-gpu.patch b/debian/patches/fix-detach-gpu.patch
new file mode 100644
index 0000000..cba33cf
--- /dev/null
+++ b/debian/patches/fix-detach-gpu.patch
@@ -0,0 +1,89 @@
+--- a/hw/xfree86/modes/xf86RandR12.c
++++ b/hw/xfree86/modes/xf86RandR12.c
+@@ -1800,7 +1800,8 @@
+ ScreenPtr cmScreen = pScreen->current_master;
+
+ xf86DetachOutputGPU(pScreen);
+- AttachUnboundGPU(cmScreen, pScreen);
++ if (!pScreen->current_master)
++ AttachUnboundGPU(cmScreen, pScreen);
+ }
+ provider->output_source = NULL;
+ return TRUE;
+@@ -1811,7 +1812,8 @@
+
+ SetRootClip(source_provider->pScreen, FALSE);
+
+- DetachUnboundGPU(pScreen);
++ if (!pScreen->current_master)
++ DetachUnboundGPU(pScreen);
+ AttachOutputGPU(source_provider->pScreen, pScreen);
+
+ provider->output_source = source_provider;
+@@ -1828,7 +1830,8 @@
+ if (provider->offload_sink) {
+ ScreenPtr cmScreen = pScreen->current_master;
+ xf86DetachOutputGPU(pScreen);
+- AttachUnboundGPU(cmScreen, pScreen);
++ if (!pScreen->current_master)
++ AttachUnboundGPU(cmScreen, pScreen);
+ }
+
+ provider->offload_sink = NULL;
+@@ -1838,7 +1841,8 @@
+ if (provider->offload_sink == sink_provider)
+ return TRUE;
+
+- DetachUnboundGPU(pScreen);
++ if (!pScreen->current_master)
++ DetachUnboundGPU(pScreen);
+ AttachOffloadGPU(sink_provider->pScreen, pScreen);
+
+ provider->offload_sink = sink_provider;
+@@ -1917,12 +1921,14 @@
+ config->randr_provider->offload_sink = NULL;
+ RRSetChanged(screen);
+ }
+- else if (config->randr_provider->output_source) {
++
++ if (config->randr_provider->output_source) {
+ xf86DetachOutputGPU(screen);
+ config->randr_provider->output_source = NULL;
+ RRSetChanged(screen);
+ }
+- else if (screen->current_master)
++
++ if (screen->current_master)
+ DetachUnboundGPU(screen);
+ }
+ config->randr_provider = NULL;
+--- a/dix/dispatch.c
++++ b/dix/dispatch.c
+@@ -3911,6 +3911,8 @@ AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr new)
+ assert(new->isGPU);
+ assert(!new->current_master);
+ xorg_list_add(&new->unattached_head, &pScreen->unattached_list);
++ xorg_list_init(&new->offload_head);
++ xorg_list_init(&new->output_head);
+ new->current_master = pScreen;
+ }
+
+@@ -3937,7 +3937,8 @@
+ {
+ assert(slave->isGPU);
+ xorg_list_del(&slave->output_head);
+- slave->current_master = NULL;
++ if (xorg_list_is_empty(&slave->offload_head))
++ slave->current_master = NULL;
+ }
+
+ void
+@@ -3953,6 +3954,7 @@
+ {
+ assert(slave->isGPU);
+ xorg_list_del(&slave->offload_head);
+- slave->current_master = NULL;
++ if (xorg_list_is_empty(&slave->output_head))
++ slave->current_master = NULL;
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
index f033d85..c365dce 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -44,6 +44,7 @@ xrandr-rroutputchanged-main.patch
rrcrtc-brackets-are-hard.patch
config-add-no-removal.patch
xf86-ignore-conflicting-rr-caps.patch
+fix-detach-gpu.patch
pixman-validate.patch
fix-ftbfs-ppc64el.patch
Reply to: