xorg-x11-server/n_add-dummy-xf86DisableRandR.patch
Stefan Dirsch da350d9e81 Accepting request 596930 from home:michalsrb:branches:bnc1089601:X11:XOrg
- n_add-dummy-xf86DisableRandR.patch
  * Add dummy xf86DisableRandR to fix linking with drivers that
    still call it. See explanation inside the patch. (bnc#1089601)

OBS-URL: https://build.opensuse.org/request/show/596930
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=699
2018-04-16 09:43:46 +00:00

53 lines
2.1 KiB
Diff

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)
{