mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 03:44:06 +00:00
fb: reexport fbGetGCPrivateKey and add itw wrapped version
This patch reexports a symbol needed by NVidia 340 driver and adds its "wrapped" version for libwfb to prevent XServer crashes. Signed-off-by: Oleh Nykyforchyn <oleh.nyk@gmail.com>
This commit is contained in:
committed by
Enrico Weigelt, metux IT consult
parent
c9dde4ef01
commit
b0fcbcbde5
4
fb/fb.h
4
fb/fb.h
@@ -254,8 +254,8 @@ fbGetScreenPrivateKey(void);
|
||||
/* private field of a screen */
|
||||
typedef struct {
|
||||
#ifdef FB_ACCESS_WRAPPER
|
||||
SetupWrapProcPtr setupWrap; /* driver hook to set pixmap access wrapping */
|
||||
FinishWrapProcPtr finishWrap; /* driver hook to clean up pixmap access wrapping */
|
||||
SetupWrapProcPtr setupWrap; /* driver hook to set pixmap access wrapping */
|
||||
FinishWrapProcPtr finishWrap; /* driver hook to clean up pixmap access wrapping */
|
||||
#endif
|
||||
DevPrivateKeyRec gcPrivateKeyRec;
|
||||
DevPrivateKeyRec winPrivateKeyRec;
|
||||
|
||||
@@ -12,7 +12,10 @@
|
||||
|
||||
#define FbBitsStrideToStipStride(s) (((s) << (FB_SHIFT - FB_STIP_SHIFT)))
|
||||
|
||||
#define fbGetGCPrivateKey(pGC) (&fbGetScreenPrivate((pGC)->pScreen)->gcPrivateKeyRec)
|
||||
/* NVidia v.340 legacy driver needs this symbol */
|
||||
extern _X_EXPORT DevPrivateKey
|
||||
fbGetGCPrivateKey(GCPtr pGC);
|
||||
|
||||
#define fbGetGCPrivate(pGC) ((FbGCPrivPtr)dixLookupPrivate(&(pGC)->devPrivates, fbGetGCPrivateKey(pGC)))
|
||||
|
||||
#define fbGetScreenPixmap(s) ((PixmapPtr) (s)->devPrivate)
|
||||
|
||||
@@ -25,12 +25,19 @@
|
||||
#include "fb/fb_priv.h"
|
||||
|
||||
static DevPrivateKeyRec fbScreenPrivateKeyRec;
|
||||
|
||||
DevPrivateKey
|
||||
fbGetScreenPrivateKey(void)
|
||||
{
|
||||
return &fbScreenPrivateKeyRec;
|
||||
}
|
||||
|
||||
DevPrivateKey
|
||||
fbGetGCPrivateKey(GCPtr pGC)
|
||||
{
|
||||
return &fbGetScreenPrivate((pGC)->pScreen)->gcPrivateKeyRec;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbAllocatePrivates(ScreenPtr pScreen)
|
||||
{
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
#define fbGCFuncs wfbGCFuncs
|
||||
#define fbGCOps wfbGCOps
|
||||
#define fbGeneration wfbGeneration
|
||||
#define fbGetGCPrivateKey wfbGetGCPrivateKey
|
||||
#define fbGetImage wfbGetImage
|
||||
#define fbGetScreenPrivateKey wfbGetScreenPrivateKey
|
||||
#define fbGetSpans wfbGetSpans
|
||||
|
||||
Reference in New Issue
Block a user