mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
x11-base/xorg-server: Add upstream patch to fix crash
Closes: https://bugs.gentoo.org/649392
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
From 2af0a50a4bb9be9f58681d417ceb9a7029caaf3b Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed, 28 Feb 2018 11:23:41 -0500
|
||||
Subject: [PATCH] randr: Fix a crash on initialization with GPU screens
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
RRSetChanged (immediately above) was immune to screens with no master,
|
||||
but RRTellChanged was not:
|
||||
|
||||
Thread 1 "X" received signal SIGSEGV, Segmentation fault.
|
||||
RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
|
||||
576 mastersp = rrGetScrPriv(master);
|
||||
(gdb) bt
|
||||
#0 RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
|
||||
#1 0x000055555566f1e9 in RRNoticePropertyChange (value=0x555555bfbf28, property=70, output=0x555555bfef10) at ../../randr/rrproperty.c:153
|
||||
#2 RRChangeOutputProperty (output=output@entry=0x555555bfef10, property=<optimized out>, type=type@entry=19, format=format@entry=32, mode=<optimized out>, mode@entry=0, len=len@entry=1, value=0x7fffffffe77c, sendevent=1, pending=0)
|
||||
at ../../randr/rrproperty.c:263
|
||||
#3 0x000055555566dba5 in RROutputSetNonDesktop (output=output@entry=0x555555bfef10, nonDesktop=nonDesktop@entry=0) at ../../randr/rroutput.c:333
|
||||
...
|
||||
|
||||
Reported-by: Michel Dänzer <michel@daenzer.net>
|
||||
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||
---
|
||||
randr/randr.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/randr/randr.c b/randr/randr.c
|
||||
index 339ad3ece..feb54bcc8 100644
|
||||
--- a/randr/randr.c
|
||||
+++ b/randr/randr.c
|
||||
@@ -602,6 +602,8 @@ RRTellChanged(ScreenPtr pScreen)
|
||||
|
||||
if (pScreen->isGPU) {
|
||||
master = pScreen->current_master;
|
||||
+ if (!master)
|
||||
+ return;
|
||||
mastersp = rrGetScrPriv(master);
|
||||
}
|
||||
else {
|
||||
--
|
||||
2.16.1
|
||||
|
||||
@@ -117,6 +117,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
|
||||
# needed for new eselect-opengl, bug #541232
|
||||
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
|
||||
"${FILESDIR}"/${P}-randr-fix-crash.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
Reference in New Issue
Block a user