[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: