File n_add-dummy-xf86DisableRandR.patch of Package xorg-x11-server.16221

Subject: Add dummy xf86DisableRandR.
Patch-mainline: Never
Author: Michal Srb <msrb@suse.com>
References: bnc#1089601

This is temporary fix for breakage after backporting upstream patch
dd00e5466a0e4ea313d1860824da4123692827ed (xorg-server-1.19.0-566-gdd00e5466).

The patch removed function xf86DisableRandR. This patch re-adds it as a dummy function
that does nothing to fix linking with drivers that expect it. Drivers should no longer
call it, so putting it back empty has the same effect.
Index: xorg-server-1.19.6/hw/xfree86/common/xf86.h
===================================================================
--- xorg-server-1.19.6.orig/hw/xfree86/common/xf86.h
+++ xorg-server-1.19.6/hw/xfree86/common/xf86.h
@@ -319,6 +319,10 @@ extern _X_EXPORT Bool
 xf86GetModInDevEnabled(void);
 extern _X_EXPORT Bool
 xf86GetAllowMouseOpenFail(void);
+// Warning: This function does nothing now.
+// See: https://bugzilla.opensuse.org/show_bug.cgi?id=1089601
+extern _X_EXPORT void
+xf86DisableRandR(void);
 extern _X_EXPORT CARD32
 xorgGetVersion(void);
 extern _X_EXPORT CARD32
Index: xorg-server-1.19.6/hw/xfree86/common/xf86Helper.c
===================================================================
--- xorg-server-1.19.6.orig/hw/xfree86/common/xf86Helper.c
+++ xorg-server-1.19.6/hw/xfree86/common/xf86Helper.c
@@ -1572,6 +1572,21 @@ xf86GetAllowMouseOpenFail(void)
     return xf86Info.allowMouseOpenFail;
 }
 
+void
+xf86DisableRandR(void)
+{
+    // Do nothing!
+
+    // This function was re-added to fix linking problems with drivers that expect it.
+    // For example nvidia. See: https://bugzilla.opensuse.org/show_bug.cgi?id=1089601
+
+    // This function was used to disable RANDR 1.1 if the driver intended to initialize
+    // RANDR 1.2+ itself. Since patch dd00e5466a0e4ea313d1860824da4123692827ed ("xfree86:
+    // Remove broken RANDR disabling logic") this is no longer necessary. X server will
+    // only initialize RANDR 1.1 if no driver initialized any other RANDR. So the result
+    // is the same even with this function doing nothing.
+}
+
 CARD32
 xf86GetModuleVersion(void *module)
 {
openSUSE Build Service is sponsored by