From 2af0a50a4bb9be9f58681d417ceb9a7029caaf3b Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 28 Feb 2018 11:23:41 -0500 Subject: 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=) at ../../randr/randr.c:576 576 mastersp = rrGetScrPriv(master); (gdb) bt #0 RRTellChanged (pScreen=) 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=, type=type@entry=19, format=format@entry=32, mode=, 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 Signed-off-by: Adam Jackson --- randr/randr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/randr/randr.c b/randr/randr.c index 339ad3e..feb54bc 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 { -- cgit v1.1