diff options
author | Adam Jackson <ajax@redhat.com> | 2017-10-26 13:40:57 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2018-01-22 14:07:15 -0500 |
commit | 26841b2c9ea03fda8b2d0da254e0344fd2a3afce (patch) | |
tree | 5b477bbfb6d62508ee44a6ee85505b3c81820897 /render | |
parent | 725b4b46ff59a8db84d8c12fec02c6b1d94b27ce (diff) |
animcur: Use fixed-size screen private
Reviewed-by: Robert Morell <rmorell@nvidia.com>
Tested-by: Robert Morell <rmorell@nvidia.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 3abbdb7318018584a27220737bd92081ce8ee67c)
Diffstat (limited to 'render')
-rw-r--r-- | render/animcur.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/render/animcur.c b/render/animcur.c index 52e6b8b79..3f85f9a4f 100644 --- a/render/animcur.c +++ b/render/animcur.c @@ -77,12 +77,9 @@ static CursorBits animCursorBits = { static DevPrivateKeyRec AnimCurScreenPrivateKeyRec; -#define AnimCurScreenPrivateKey (&AnimCurScreenPrivateKeyRec) - #define IsAnimCur(c) ((c) && ((c)->bits == &animCursorBits)) #define GetAnimCur(c) ((AnimCurPtr) ((((char *)(c) + CURSOR_REC_SIZE)))) -#define GetAnimCurScreen(s) ((AnimCurScreenPtr)dixLookupPrivate(&(s)->devPrivates, AnimCurScreenPrivateKey)) -#define SetAnimCurScreen(s,p) dixSetPrivate(&(s)->devPrivates, AnimCurScreenPrivateKey, p) +#define GetAnimCurScreen(s) ((AnimCurScreenPtr)dixLookupPrivate(&(s)->devPrivates, &AnimCurScreenPrivateKeyRec)) #define Wrap(as,s,elt,func) (((as)->elt = (s)->elt), (s)->elt = func) #define Unwrap(as,s,elt) ((s)->elt = (as)->elt) @@ -101,9 +98,7 @@ AnimCurCloseScreen(ScreenPtr pScreen) Unwrap(as, pScreen, RealizeCursor); Unwrap(as, pScreen, UnrealizeCursor); Unwrap(as, pScreen, RecolorCursor); - SetAnimCurScreen(pScreen, 0); ret = (*pScreen->CloseScreen) (pScreen); - free(as); return ret; } @@ -308,15 +303,13 @@ AnimCurInit(ScreenPtr pScreen) { AnimCurScreenPtr as; - if (!dixRegisterPrivateKey(&AnimCurScreenPrivateKeyRec, PRIVATE_SCREEN, 0)) + if (!dixRegisterPrivateKey(&AnimCurScreenPrivateKeyRec, PRIVATE_SCREEN, + sizeof(AnimCurScreenRec))) return FALSE; - as = (AnimCurScreenPtr) malloc(sizeof(AnimCurScreenRec)); - if (!as) - return FALSE; + as = GetAnimCurScreen(pScreen); as->timer = TimerSet(NULL, TimerAbsolute, 0, AnimCurTimerNotify, pScreen); if (!as->timer) { - free(as); return FALSE; } as->timer_set = FALSE; @@ -329,7 +322,6 @@ AnimCurInit(ScreenPtr pScreen) Wrap(as, pScreen, RealizeCursor, AnimCurRealizeCursor); Wrap(as, pScreen, UnrealizeCursor, AnimCurUnrealizeCursor); Wrap(as, pScreen, RecolorCursor, AnimCurRecolorCursor); - SetAnimCurScreen(pScreen, as); return TRUE; } |