From fe05ba75a10ec080e7ec34bff6936103185586b3 Mon Sep 17 00:00:00 2001 From: Eamon Walsh Date: Thu, 8 Mar 2007 12:14:30 -0500 Subject: [PATCH] devPrivates rework: pass address of pointer to private callbacks instead of the pointer itself. --- dix/privates.c | 4 ++-- include/privates.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dix/privates.c b/dix/privates.c index 29e261f6b..8aab32d0e 100644 --- a/dix/privates.c +++ b/dix/privates.c @@ -117,7 +117,7 @@ dixAllocatePrivate(PrivateRec **privates, devprivate_key_t *const key) /* call any init funcs and return */ if (item) { - PrivateCallbackRec calldata = { key, ptr->value }; + PrivateCallbackRec calldata = { key, &ptr->value }; CallCallbacks(&item->initfuncs, &calldata); } return &ptr->value; @@ -138,7 +138,7 @@ dixFreePrivates(PrivateRec *privates) item = findItem(ptr->key); if (item) { calldata.key = ptr->key; - calldata.value = ptr->value; + calldata.value = &ptr->value; CallCallbacks(&item->deletefuncs, &calldata); } } diff --git a/include/privates.h b/include/privates.h index 6071e3958..e57f16712 100644 --- a/include/privates.h +++ b/include/privates.h @@ -112,7 +112,7 @@ dixSetPrivate(PrivateRec **privates, devprivate_key_t *const key, pointer val) */ typedef struct _PrivateCallback { devprivate_key_t *key; /* private registration key */ - pointer value; /* pointer to private */ + pointer *value; /* address of private pointer */ } PrivateCallbackRec; extern int