diff --git a/n_xserver-optimus-autoconfig-hack.patch b/n_xserver-optimus-autoconfig-hack.patch index e7d2ec4..2ec00f3 100644 --- a/n_xserver-optimus-autoconfig-hack.patch +++ b/n_xserver-optimus-autoconfig-hack.patch @@ -62,7 +62,7 @@ Index: xorg-server-1.20.5/hw/xfree86/common/xf86Init.c #include "picturestr.h" #include "randrstr.h" #include "glxvndabi.h" -@@ -294,6 +295,231 @@ AddVTAtoms(CallbackListPtr *pcbl, void * +@@ -294,6 +295,237 @@ AddVTAtoms(CallbackListPtr *pcbl, void * "Failed to register VT properties\n"); } @@ -92,6 +92,9 @@ Index: xorg-server-1.20.5/hw/xfree86/common/xf86Init.c + } *outputConfigs; + int outputConfigsCount = 0, outputConfigsUsed = 0; + ++ if (!dixPrivateKeyRegistered(rrPrivKey)) ++ return; ++ + pMasterScrPriv = rrGetScrPriv(pMasterScreen); + if (!pMasterScrPriv) + return; @@ -253,6 +256,9 @@ Index: xorg-server-1.20.5/hw/xfree86/common/xf86Init.c + rrScrPrivPtr master_rp; + rrScrPrivPtr slave_rp; + ++ if (!dixPrivateKeyRegistered(rrPrivKey)) ++ return; ++ + master_rp = rrGetScrPriv(master); + slave_rp = rrGetScrPriv(slave); + diff --git a/u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch b/u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch index d4c80dc..ed93dd8 100644 --- a/u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch +++ b/u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch @@ -25,9 +25,13 @@ Index: xorg-server-21.1.0/randr/randr.c =================================================================== --- xorg-server-21.1.0.orig/randr/randr.c +++ xorg-server-21.1.0/randr/randr.c -@@ -651,7 +651,9 @@ RRTellChanged(ScreenPtr pScreen) +@@ -650,8 +650,13 @@ RRTellChanged(ScreenPtr pScreen) + pScrPriv->crtcs[i]->changed = FALSE; xorg_list_for_each_entry(iter, &primary->secondary_list, secondary_head) { ++ if (!dixPrivateKeyRegistered(rrPrivKey)) { ++ break; ++ } pSecondaryScrPriv = rrGetScrPriv(iter); - pSecondaryScrPriv->provider->changed = FALSE; + if (pSecondaryScrPriv->provider) { diff --git a/u_xfree86-activate-GPU-screens-on-autobind.patch b/u_xfree86-activate-GPU-screens-on-autobind.patch index 5962e7c..ab7d13b 100644 --- a/u_xfree86-activate-GPU-screens-on-autobind.patch +++ b/u_xfree86-activate-GPU-screens-on-autobind.patch @@ -59,7 +59,7 @@ index 380288ca4..9839cb19c 100644 } static void -@@ -258,6 +263,186 @@ AddVTAtoms(CallbackListPtr *pcbl, void *data, void *screen) +@@ -258,6 +263,189 @@ AddVTAtoms(CallbackListPtr *pcbl, void *data, void *screen) "Failed to register VT properties\n"); } @@ -90,6 +90,9 @@ index 380288ca4..9839cb19c 100644 + } *outputConfigs; + int outputConfigsCount = 0, outputConfigsUsed = 0; + ++ if (!dixPrivateKeyRegistered(rrPrivKey)) ++ return; ++ + pMasterScrPriv = rrGetScrPriv(pMasterScreen); + if (!pMasterScrPriv) + return; diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 0965057..19ae50f 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Sat Jan 6 15:12:29 UTC 2024 - Stefan Dirsch + +- n_xserver-optimus-autoconfig-hack.patch + u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch + u_xfree86-activate-GPU-screens-on-autobind.patch + * check dixPrivateKeyRegistered(rrPrivKey) before calling + rrGetScrPriv() to avoid xserver crash when Xinerama is enabled + (boo#1218240) + + ------------------------------------------------------------------- Mon Dec 4 18:49:47 UTC 2023 - Stefan Dirsch - U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 9be7f6e..85f54f4 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -1,7 +1,7 @@ # # spec file for package xorg-x11-server # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed