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