Blame SOURCES/0002-animcur-Use-fixed-size-screen-private.patch

28a1ec
From cb99ddee85ef8f5b98239a8625ad20ab5b10b911 Mon Sep 17 00:00:00 2001
28a1ec
From: Adam Jackson <ajax@redhat.com>
28a1ec
Date: Thu, 26 Oct 2017 13:40:57 -0400
28a1ec
Subject: [PATCH xserver 2/6] animcur: Use fixed-size screen private
28a1ec
28a1ec
Reviewed-by: Robert Morell <rmorell@nvidia.com>
28a1ec
Tested-by: Robert Morell <rmorell@nvidia.com>
28a1ec
Signed-off-by: Adam Jackson <ajax@redhat.com>
28a1ec
(cherry picked from commit 3abbdb7318018584a27220737bd92081ce8ee67c)
28a1ec
---
28a1ec
 render/animcur.c | 16 ++++------------
28a1ec
 1 file changed, 4 insertions(+), 12 deletions(-)
28a1ec
28a1ec
diff --git a/render/animcur.c b/render/animcur.c
28a1ec
index 52e6b8b79..3f85f9a4f 100644
28a1ec
--- a/render/animcur.c
28a1ec
+++ b/render/animcur.c
28a1ec
@@ -77,12 +77,9 @@ static CursorBits animCursorBits = {
28a1ec
28a1ec
 static DevPrivateKeyRec AnimCurScreenPrivateKeyRec;
28a1ec
28a1ec
-#define AnimCurScreenPrivateKey (&AnimCurScreenPrivateKeyRec)
28a1ec
-
28a1ec
 #define IsAnimCur(c)	    ((c) && ((c)->bits == &animCursorBits))
28a1ec
 #define GetAnimCur(c)	    ((AnimCurPtr) ((((char *)(c) + CURSOR_REC_SIZE))))
28a1ec
-#define GetAnimCurScreen(s) ((AnimCurScreenPtr)dixLookupPrivate(&(s)->devPrivates, AnimCurScreenPrivateKey))
28a1ec
-#define SetAnimCurScreen(s,p) dixSetPrivate(&(s)->devPrivates, AnimCurScreenPrivateKey, p)
28a1ec
+#define GetAnimCurScreen(s) ((AnimCurScreenPtr)dixLookupPrivate(&(s)->devPrivates, &AnimCurScreenPrivateKeyRec))
28a1ec
28a1ec
 #define Wrap(as,s,elt,func) (((as)->elt = (s)->elt), (s)->elt = func)
28a1ec
 #define Unwrap(as,s,elt)    ((s)->elt = (as)->elt)
28a1ec
@@ -101,9 +98,7 @@ AnimCurCloseScreen(ScreenPtr pScreen)
28a1ec
     Unwrap(as, pScreen, RealizeCursor);
28a1ec
     Unwrap(as, pScreen, UnrealizeCursor);
28a1ec
     Unwrap(as, pScreen, RecolorCursor);
28a1ec
-    SetAnimCurScreen(pScreen, 0);
28a1ec
     ret = (*pScreen->CloseScreen) (pScreen);
28a1ec
-    free(as);
28a1ec
     return ret;
28a1ec
 }
28a1ec
28a1ec
@@ -308,15 +303,13 @@ AnimCurInit(ScreenPtr pScreen)
28a1ec
 {
28a1ec
     AnimCurScreenPtr as;
28a1ec
28a1ec
-    if (!dixRegisterPrivateKey(&AnimCurScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
28a1ec
+    if (!dixRegisterPrivateKey(&AnimCurScreenPrivateKeyRec, PRIVATE_SCREEN,
28a1ec
+                               sizeof(AnimCurScreenRec)))
28a1ec
         return FALSE;
28a1ec
28a1ec
-    as = (AnimCurScreenPtr) malloc(sizeof(AnimCurScreenRec));
28a1ec
-    if (!as)
28a1ec
-        return FALSE;
28a1ec
+    as = GetAnimCurScreen(pScreen);
28a1ec
     as->timer = TimerSet(NULL, TimerAbsolute, 0, AnimCurTimerNotify, pScreen);
28a1ec
     if (!as->timer) {
28a1ec
-        free(as);
28a1ec
         return FALSE;
28a1ec
     }
28a1ec
     as->timer_set = FALSE;
28a1ec
@@ -329,7 +322,6 @@ AnimCurInit(ScreenPtr pScreen)
28a1ec
     Wrap(as, pScreen, RealizeCursor, AnimCurRealizeCursor);
28a1ec
     Wrap(as, pScreen, UnrealizeCursor, AnimCurUnrealizeCursor);
28a1ec
     Wrap(as, pScreen, RecolorCursor, AnimCurRecolorCursor);
28a1ec
-    SetAnimCurScreen(pScreen, as);
28a1ec
     return TRUE;
28a1ec
 }
28a1ec
28a1ec
--
28a1ec
2.14.3