mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-10 23:33:46 +00:00
Change the devPrivates API to require dixRegisterPrivateKey
This patch only changes the API, not the implementation of the devPrivates infrastructure. This will permit a new devPrivates implementation to be layed into the server without requiring simultaneous changes in every devPrivates user. Signed-off-by: Keith Packard <keithp@keithp.com> Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com>
This commit is contained in:
parent
c865a24401
commit
faeebead7b
139 changed files with 1105 additions and 711 deletions
|
|
@ -105,8 +105,8 @@ SOFTWARE.
|
|||
#endif
|
||||
#include "xvdisp.h"
|
||||
|
||||
static int XvScreenKeyIndex;
|
||||
static DevPrivateKey XvScreenKey = &XvScreenKeyIndex;
|
||||
static DevPrivateKeyRec XvScreenKeyRec;
|
||||
#define XvScreenKey (&XvScreenKeyRec)
|
||||
unsigned long XvExtensionGeneration = 0;
|
||||
unsigned long XvScreenGeneration = 0;
|
||||
unsigned long XvResourceGeneration = 0;
|
||||
|
|
@ -156,6 +156,9 @@ XvExtensionInit(void)
|
|||
{
|
||||
ExtensionEntry *extEntry;
|
||||
|
||||
if (!dixRegisterPrivateKey(&XvScreenKeyRec, PRIVATE_SCREEN, 0))
|
||||
return;
|
||||
|
||||
/* LOOK TO SEE IF ANY SCREENS WERE INITIALIZED; IF NOT THEN
|
||||
INIT GLOBAL VARIABLES SO THE EXTENSION CAN FUNCTION */
|
||||
if (XvScreenGeneration != serverGeneration)
|
||||
|
|
@ -269,6 +272,9 @@ XvScreenInit(ScreenPtr pScreen)
|
|||
XvScreenGeneration = serverGeneration;
|
||||
}
|
||||
|
||||
if (!dixRegisterPrivateKey(&XvScreenKeyRec, PRIVATE_SCREEN, 0))
|
||||
return BadAlloc;
|
||||
|
||||
if (dixLookupPrivate(&pScreen->devPrivates, XvScreenKey))
|
||||
{
|
||||
ErrorF("XvScreenInit: screen devPrivates ptr non-NULL before init\n");
|
||||
|
|
@ -284,7 +290,6 @@ XvScreenInit(ScreenPtr pScreen)
|
|||
}
|
||||
|
||||
dixSetPrivate(&pScreen->devPrivates, XvScreenKey, pxvs);
|
||||
|
||||
|
||||
pxvs->DestroyPixmap = pScreen->DestroyPixmap;
|
||||
pxvs->DestroyWindow = pScreen->DestroyWindow;
|
||||
|
|
|
|||
Loading…
Reference in a new issue