open-src/xserver/xorg/resource-names.patch
changeset 1088 1c99106ccbe0
parent 1087 a8aa060182e1
child 1089 590b35f0ad83
equal deleted inserted replaced
1087:a8aa060182e1 1088:1c99106ccbe0
     1 [Adjusted to apply to xorg-server 1.7.6]
       
     2 
       
     3 From a11c58fa0c5809f918b36b84be53385cb2d8ea59 Mon Sep 17 00:00:00 2001
       
     4 From: Alan Coopersmith <[email protected]>
       
     5 Date: Fri, 11 Dec 2009 00:58:25 -0800
       
     6 Subject: [PATCH] Ensure all resource types created have names registered
       
     7 
       
     8 Calls RegisterResourceName to record the type name for
       
     9 use by X-Resource, XACE/SELinux/XTsol, and DTrace.
       
    10 
       
    11 Signed-off-by: Alan Coopersmith <[email protected]>
       
    12 Reviewed-by: Keith Packard <[email protected]>
       
    13 ---
       
    14  Xext/mbuf.c                           |    7 +++++++
       
    15  Xext/panoramiX.c                      |    6 ++++++
       
    16  Xext/saver.c                          |    4 ++++
       
    17  Xext/shape.c                          |    3 +++
       
    18  Xext/shm.c                            |    2 ++
       
    19  Xext/sleepuntil.c                     |    2 ++
       
    20  Xext/sync.c                           |    6 ++++++
       
    21  Xext/xvdisp.c                         |    3 +++
       
    22  Xext/xvmain.c                         |   15 +++++++++++----
       
    23  Xext/xvmc.c                           |    4 ++++
       
    24  composite/compext.c                   |    6 ++++++
       
    25  damageext/damageext.c                 |    3 +++
       
    26  dbe/dbe.c                             |    3 +++
       
    27  hw/dmx/glxProxy/glxext.c              |    7 +++++++
       
    28  hw/kdrive/ephyr/ephyrdriext.c         |    2 ++
       
    29  hw/xfree86/dixmods/extmod/xf86vmode.c |    2 ++
       
    30  hw/xfree86/dri/dri.c                  |    3 +++
       
    31  hw/xfree86/dri/xf86dri.c              |    4 ++++
       
    32  hw/xfree86/dri2/dri2ext.c             |    3 +++
       
    33  hw/xquartz/applewm.c                  |    3 +++
       
    34  hw/xquartz/xpr/dri.c                  |    4 ++++
       
    35  hw/xwin/winwindowswm.c                |    3 +++
       
    36  mi/miarc.c                            |    2 ++
       
    37  randr/randr.c                         |    4 ++++
       
    38  record/record.c                       |    2 ++
       
    39  render/render.c                       |    4 ++++
       
    40  xfixes/cursor.c                       |    7 +++++++
       
    41  xfixes/region.c                       |    4 ++++
       
    42  xfixes/select.c                       |    6 ++++++
       
    43  xkb/xkb.c                             |    2 ++
       
    44  30 files changed, 122 insertions(+), 4 deletions(-)
       
    45 
       
    46 diff --git a/Xext/mbuf.c b/Xext/mbuf.c
       
    47 index af31221..02354b0 100644
       
    48 --- a/Xext/mbuf.c
       
    49 +++ b/Xext/mbuf.c
       
    50 @@ -42,6 +42,8 @@ in this Software without prior written authorization from The Open Group.
       
    51  #include "opaque.h"
       
    52  #include "sleepuntil.h"
       
    53  #include "inputstr.h"
       
    54 +#include "registry.h"
       
    55 +
       
    56  #include <X11/extensions/multibufconst.h>
       
    57  #include <X11/extensions/multibufproto.h>
       
    58  
       
    59 @@ -481,6 +483,11 @@ MultibufferExtensionInit()
       
    60  				 ProcMultibufferDispatch, SProcMultibufferDispatch,
       
    61  				 MultibufferResetProc, StandardMinorOpcode)))
       
    62      {
       
    63 +	RegisterResourceName(MultibufferDrawableResType,
       
    64 +			     "MultibufferDrawable");
       
    65 +	RegisterResourceName(MultibufferResType, "MultibufferBuffer");
       
    66 +	RegisterResourceName(MultibuffersResType, "MultibufferWindow");
       
    67 +	RegisterResourceName(OtherClientResType, "MultibufferOtherClient");
       
    68  	MultibufferEventBase = extEntry->eventBase;
       
    69  	MultibufferErrorBase = extEntry->errorBase;
       
    70  	EventSwapVector[MultibufferEventBase + MultibufferClobberNotify] = (EventSwapPtr) SClobberNotifyEvent;
       
    71 diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c
       
    72 index f48bd36..2a950ee 100644
       
    73 --- a/Xext/panoramiX.c
       
    74 +++ b/Xext/panoramiX.c
       
    75 @@ -52,6 +52,7 @@ Equipment Corporation.
       
    76  #include "globals.h"
       
    77  #include "servermd.h"
       
    78  #include "resource.h"
       
    79 +#include "registry.h"
       
    80  #ifdef RENDER
       
    81  #include "picturestr.h"
       
    82  #endif
       
    83 @@ -513,6 +514,11 @@ void PanoramiXExtensionInit(int argc, char *argv[])
       
    84  	XRT_COLORMAP = CreateNewResourceType(XineramaDeleteResource);
       
    85  
       
    86  	if (XRT_WINDOW && XRT_PIXMAP && XRT_GC && XRT_COLORMAP) {
       
    87 +	    RegisterResourceName(XRT_WINDOW, "XineramaWindow");
       
    88 +	    RegisterResourceName(XRT_PIXMAP, "XineramaPixmap");
       
    89 +	    RegisterResourceName(XRT_GC, "XineramaGC");
       
    90 +	    RegisterResourceName(XRT_COLORMAP, "XineramaColormap");
       
    91 +
       
    92  	    panoramiXGeneration = serverGeneration;
       
    93  	    success = TRUE;
       
    94  	}
       
    95 diff --git a/Xext/saver.c b/Xext/saver.c
       
    96 index 04e6497..5757f85 100644
       
    97 --- a/Xext/saver.c
       
    98 +++ b/Xext/saver.c
       
    99 @@ -47,6 +47,7 @@ in this Software without prior written authorization from the X Consortium.
       
   100  #include "cursorstr.h"
       
   101  #include "colormapst.h"
       
   102  #include "xace.h"
       
   103 +#include "registry.h"
       
   104  #ifdef PANORAMIX
       
   105  #include "panoramiX.h"
       
   106  #include "panoramiXsrv.h"
       
   107 @@ -266,6 +267,9 @@ ScreenSaverExtensionInit(INITARGS)
       
   108  				 ProcScreenSaverDispatch, SProcScreenSaverDispatch,
       
   109  				 NULL, StandardMinorOpcode)))
       
   110      {
       
   111 +	RegisterResourceName(AttrType, "SaverAttr");
       
   112 +	RegisterResourceName(SaverEventType, "SaverEvent");
       
   113 +	RegisterResourceName(SuspendType, "SaverSuspend");
       
   114  	ScreenSaverEventBase = extEntry->eventBase;
       
   115  	EventSwapVector[ScreenSaverEventBase] = (EventSwapPtr) SScreenSaverNotifyEvent;
       
   116      }
       
   117 diff --git a/Xext/shape.c b/Xext/shape.c
       
   118 index 700fe76..247f21b 100644
       
   119 --- a/Xext/shape.c
       
   120 +++ b/Xext/shape.c
       
   121 @@ -40,6 +40,7 @@ in this Software without prior written authorization from The Open Group.
       
   122  #include "extnsionst.h"
       
   123  #include "dixstruct.h"
       
   124  #include "resource.h"
       
   125 +#include "registry.h"
       
   126  #include "opaque.h"
       
   127  #include <X11/extensions/shapeproto.h>
       
   128  #include "regionstr.h"
       
   129 @@ -134,6 +135,8 @@ ShapeExtensionInit(void)
       
   130  				 ProcShapeDispatch, SProcShapeDispatch,
       
   131  				 NULL, StandardMinorOpcode)))
       
   132      {
       
   133 +	RegisterResourceName(ClientType, "ShapeClient");
       
   134 +	RegisterResourceName(ShapeEventType, "ShapeEvent");
       
   135  	ShapeEventBase = extEntry->eventBase;
       
   136  	EventSwapVector[ShapeEventBase] = (EventSwapPtr) SShapeNotifyEvent;
       
   137      }
       
   138 diff --git a/Xext/shm.c b/Xext/shm.c
       
   139 index 9e462f2..589155d 100644
       
   140 --- a/Xext/shm.c
       
   141 +++ b/Xext/shm.c
       
   142 @@ -52,6 +52,7 @@ in this Software without prior written authorization from The Open Group.
       
   143  #include "servermd.h"
       
   144  #include "shmint.h"
       
   145  #include "xace.h"
       
   146 +#include "registry.h"
       
   147  #include <X11/extensions/shmproto.h>
       
   148  #include <X11/Xfuncproto.h>
       
   149  #include "protocol-versions.h"
       
   150 @@ -283,6 +284,7 @@ ShmExtensionInit(INITARGS)
       
   151  				 ProcShmDispatch, SProcShmDispatch,
       
   152  				 ShmResetProc, StandardMinorOpcode)))
       
   153      {
       
   154 +	RegisterResourceName(ShmSegType, "ShmSeg");
       
   155  	ShmReqCode = (unsigned char)extEntry->base;
       
   156  	ShmCompletionCode = extEntry->eventBase;
       
   157  	BadShmSegCode = extEntry->errorBase;
       
   158 diff --git a/Xext/sleepuntil.c b/Xext/sleepuntil.c
       
   159 index 2616a5e..6b5964e 100644
       
   160 --- a/Xext/sleepuntil.c
       
   161 +++ b/Xext/sleepuntil.c
       
   162 @@ -39,6 +39,7 @@ in this Software without prior written authorization from The Open Group.
       
   163  #include "dixstruct.h"
       
   164  #include "pixmapstr.h"
       
   165  #include "scrnintstr.h"
       
   166 +#include "registry.h"
       
   167  
       
   168  typedef struct _Sertafied {
       
   169      struct _Sertafied	*next;
       
   170 @@ -90,6 +91,7 @@ ClientSleepUntil (ClientPtr client,
       
   171  	SertafiedResType = CreateNewResourceType (SertafiedDelete);
       
   172  	if (!SertafiedResType)
       
   173  	    return FALSE;
       
   174 +	RegisterResourceName(SertafiedResType, "ClientSleep");
       
   175  	SertafiedGeneration = serverGeneration;
       
   176  	BlockHandlerRegistered = FALSE;
       
   177      }
       
   178 diff --git a/Xext/sync.c b/Xext/sync.c
       
   179 index d8a2b15..b3bba17 100644
       
   180 --- a/Xext/sync.c
       
   181 +++ b/Xext/sync.c
       
   182 @@ -64,6 +64,7 @@ PERFORMANCE OF THIS SOFTWARE.
       
   183  #include "extnsionst.h"
       
   184  #include "dixstruct.h"
       
   185  #include "resource.h"
       
   186 +#include "registry.h"
       
   187  #include "opaque.h"
       
   188  #include <X11/extensions/syncproto.h>
       
   189  #include "syncsrv.h"
       
   190 @@ -878,6 +879,7 @@ SyncCreateSystemCounter(
       
   191  	{
       
   192  	    return NULL;
       
   193  	}
       
   194 +	RegisterResourceName(RTCounter, "SyncCounter");
       
   195      }
       
   196  
       
   197      pCounter = SyncCreateCounter(NULL, FakeClientID(0), initial);
       
   198 @@ -2133,6 +2135,10 @@ SyncExtensionInit(void)
       
   199  	return;
       
   200      }
       
   201  
       
   202 +    RegisterResourceName(RTCounter, "SyncCounter");
       
   203 +    RegisterResourceName(RTAlarm, "SyncAlarm");
       
   204 +    RegisterResourceName(RTAwait, "SyncAwait");
       
   205 +    RegisterResourceName(RTAlarmClient, "SyncAlarmClient");
       
   206      SyncEventBase = extEntry->eventBase;
       
   207      SyncErrorBase = extEntry->errorBase;
       
   208      EventSwapVector[SyncEventBase + XSyncCounterNotify] = (EventSwapPtr) SCounterNotifyEvent;
       
   209 diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c
       
   210 index 1f3fc0f..e674dfd 100644
       
   211 --- a/Xext/xvdisp.c
       
   212 +++ b/Xext/xvdisp.c
       
   213 @@ -36,6 +36,7 @@ SOFTWARE.
       
   214  #include "gcstruct.h"
       
   215  #include "dixstruct.h"
       
   216  #include "resource.h"
       
   217 +#include "registry.h"
       
   218  #include "opaque.h"
       
   219  
       
   220  #include <X11/extensions/Xv.h>
       
   221 @@ -1867,6 +1868,8 @@ void XineramifyXv(void)
       
   222  
       
   223     if (!xvsp0 || !XvXRTPort) return;
       
   224  
       
   225 +   RegisterResourceName(XvXRTPort, "XvXRTPort");
       
   226 +
       
   227     for(i = 0; i < xvsp0->nAdaptors; i++) {
       
   228        refAdapt = xvsp0->pAdaptors + i;
       
   229  
       
   230 diff --git a/Xext/xvmain.c b/Xext/xvmain.c
       
   231 index 7c8a3c3..c33c209 100644
       
   232 --- a/Xext/xvmain.c
       
   233 +++ b/Xext/xvmain.c
       
   234 @@ -90,6 +90,7 @@ SOFTWARE.
       
   235  #include "extnsionst.h"
       
   236  #include "dixstruct.h"
       
   237  #include "resource.h"
       
   238 +#include "registry.h"
       
   239  #include "opaque.h"
       
   240  #include "input.h"
       
   241  
       
   242 @@ -213,36 +214,42 @@ CreateResourceTypes(void)
       
   243        ErrorF("CreateResourceTypes: failed to allocate port resource.\n");
       
   244        return FALSE;
       
   245      }
       
   246 -  
       
   247 +  RegisterResourceName(XvRTPort, "XvRTPort");
       
   248 +
       
   249    if (!(XvRTGrab = CreateNewResourceType(XvdiDestroyGrab)))
       
   250      {
       
   251        ErrorF("CreateResourceTypes: failed to allocate grab resource.\n");
       
   252        return FALSE;
       
   253      }
       
   254 -  
       
   255 +  RegisterResourceName(XvRTGrab, "XvRTGrab");
       
   256 +
       
   257    if (!(XvRTEncoding = CreateNewResourceType(XvdiDestroyEncoding)))
       
   258      {
       
   259        ErrorF("CreateResourceTypes: failed to allocate encoding resource.\n");
       
   260        return FALSE;
       
   261      }
       
   262 -  
       
   263 +  RegisterResourceName(XvRTEncoding, "XvRTEncoding");
       
   264 +
       
   265    if (!(XvRTVideoNotify = CreateNewResourceType(XvdiDestroyVideoNotify)))
       
   266      {
       
   267        ErrorF("CreateResourceTypes: failed to allocate video notify resource.\n");
       
   268        return FALSE;
       
   269      }
       
   270 -  
       
   271 +  RegisterResourceName(XvRTVideoNotify, "XvRTVideoNotify");
       
   272 +
       
   273    if (!(XvRTVideoNotifyList = CreateNewResourceType(XvdiDestroyVideoNotifyList)))
       
   274      {
       
   275        ErrorF("CreateResourceTypes: failed to allocate video notify list resource.\n");
       
   276        return FALSE;
       
   277      }
       
   278 +  RegisterResourceName(XvRTVideoNotifyList, "XvRTVideoNotifyList");
       
   279  
       
   280    if (!(XvRTPortNotify = CreateNewResourceType(XvdiDestroyPortNotify)))
       
   281      {
       
   282        ErrorF("CreateResourceTypes: failed to allocate port notify resource.\n");
       
   283        return FALSE;
       
   284      }
       
   285 +  RegisterResourceName(XvRTPortNotify, "XvRTPortNotify");
       
   286  
       
   287    return TRUE;
       
   288  
       
   289 diff --git a/Xext/xvmc.c b/Xext/xvmc.c
       
   290 index c17a4b1..0a233b1 100644
       
   291 --- a/Xext/xvmc.c
       
   292 +++ b/Xext/xvmc.c
       
   293 @@ -11,6 +11,7 @@
       
   294  #include "os.h"
       
   295  #include "dixstruct.h"
       
   296  #include "resource.h"
       
   297 +#include "registry.h"
       
   298  #include "scrnintstr.h"
       
   299  #include "extnsionst.h"
       
   300  #include "servermd.h"
       
   301 @@ -676,12 +677,15 @@ XvMCExtensionInit(void)
       
   302  
       
   303     if(!(XvMCRTContext = CreateNewResourceType(XvMCDestroyContextRes)))
       
   304  	return;
       
   305 +   RegisterResourceName(XvMCRTContext, "XvMCRTContext");
       
   306  
       
   307     if(!(XvMCRTSurface = CreateNewResourceType(XvMCDestroySurfaceRes)))
       
   308  	return;
       
   309 +   RegisterResourceName(XvMCRTSurface, "XvMCRTSurface");
       
   310  
       
   311     if(!(XvMCRTSubpicture = CreateNewResourceType(XvMCDestroySubpictureRes)))
       
   312  	return;
       
   313 +   RegisterResourceName(XvMCRTSubpicture, "XvMCRTSubpicture");
       
   314  
       
   315     extEntry = AddExtension(XvMCName, XvMCNumEvents, XvMCNumErrors, 
       
   316                                ProcXvMCDispatch, SProcXvMCDispatch,
       
   317 diff --git a/composite/compext.c b/composite/compext.c
       
   318 index b5afdd3..74f0309 100644
       
   319 --- a/composite/compext.c
       
   320 +++ b/composite/compext.c
       
   321 @@ -47,6 +47,7 @@
       
   322  
       
   323  #include "compint.h"
       
   324  #include "xace.h"
       
   325 +#include "registry.h"
       
   326  #include "protocol-versions.h"
       
   327  
       
   328  static CARD8	CompositeReqCode;
       
   329 @@ -549,14 +550,19 @@ CompositeExtensionInit (void)
       
   330      CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow);
       
   331      if (!CompositeClientWindowType)
       
   332  	return;
       
   333 +    RegisterResourceName(CompositeClientWindowType, "CompositeClientWindow");
       
   334  
       
   335      CompositeClientSubwindowsType = CreateNewResourceType (FreeCompositeClientSubwindows);
       
   336      if (!CompositeClientSubwindowsType)
       
   337  	return;
       
   338 +    RegisterResourceName(CompositeClientSubwindowsType,
       
   339 +			 "CompositeClientSubwindows");
       
   340  
       
   341      CompositeClientOverlayType = CreateNewResourceType (FreeCompositeClientOverlay);
       
   342      if (!CompositeClientOverlayType)
       
   343  	return;
       
   344 +    RegisterResourceName(CompositeClientOverlayType,
       
   345 +			 "CompositeClientOverlay");
       
   346  
       
   347      if (!dixRequestPrivate(CompositeClientPrivateKey,
       
   348  			   sizeof(CompositeClientRec)))
       
   349 diff --git a/damageext/damageext.c b/damageext/damageext.c
       
   350 index 449c2fd..044e8ef 100644
       
   351 --- a/damageext/damageext.c
       
   352 +++ b/damageext/damageext.c
       
   353 @@ -24,6 +24,7 @@
       
   354  #include <dix-config.h>
       
   355  #endif
       
   356  
       
   357 +#include "registry.h"
       
   358  #include "damageextint.h"
       
   359  #include "protocol-versions.h"
       
   360  
       
   361 @@ -500,10 +501,12 @@ DamageExtensionInit(void)
       
   362      DamageExtType = CreateNewResourceType (FreeDamageExt);
       
   363      if (!DamageExtType)
       
   364  	return;
       
   365 +    RegisterResourceName(DamageExtType, "DamageExt");
       
   366  
       
   367      DamageExtWinType = CreateNewResourceType (FreeDamageExtWin);
       
   368      if (!DamageExtWinType)
       
   369  	return;
       
   370 +    RegisterResourceName(DamageExtWinType, "DamageExtWin");
       
   371  
       
   372      if (!dixRequestPrivate(DamageClientPrivateKey, sizeof (DamageClientRec)))
       
   373  	return;
       
   374 diff --git a/dbe/dbe.c b/dbe/dbe.c
       
   375 index 8d2a343..7af8736 100644
       
   376 --- a/dbe/dbe.c
       
   377 +++ b/dbe/dbe.c
       
   378 @@ -54,6 +54,7 @@
       
   379  #include "dbestruct.h"
       
   380  #include "midbe.h"
       
   381  #include "xace.h"
       
   382 +#include "registry.h"
       
   383  
       
   384  /* GLOBALS */
       
   385  
       
   386 @@ -1577,11 +1578,13 @@ DbeExtensionInit(void)
       
   387      if (!dbeDrawableResType)
       
   388  	return;
       
   389      dbeDrawableResType |= RC_DRAWABLE;
       
   390 +    RegisterResourceName(dbeDrawableResType, "dbeDrawable");
       
   391  
       
   392      dbeWindowPrivResType =
       
   393          CreateNewResourceType(DbeWindowPrivDelete);
       
   394      if (!dbeWindowPrivResType)
       
   395  	return;
       
   396 +    RegisterResourceName(dbeWindowPrivResType, "dbeWindow");
       
   397  
       
   398      if (!dixRegisterPrivateOffset(dbeDrawableResType,
       
   399  				  offsetof(PixmapRec, devPrivates)))
       
   400 diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c
       
   401 index 0c39068..c00ae6e 100644
       
   402 --- a/hw/dmx/glxProxy/glxext.c
       
   403 +++ b/hw/dmx/glxProxy/glxext.c
       
   404 @@ -44,6 +44,7 @@
       
   405  #include "glxvisuals.h"
       
   406  #include "micmap.h"
       
   407  #include "glxswap.h"
       
   408 +#include "registry.h"
       
   409  
       
   410  /*
       
   411  ** Stubs to satisfy miinitext.c references.
       
   412 @@ -303,6 +304,12 @@ void GlxExtensionInit(void)
       
   413  	!__glXWindowRes || !__glXPbufferRes)
       
   414  	return;
       
   415  
       
   416 +    RegisterResourceName(__glXContextRes, "GLXContext");
       
   417 +    RegisterResourceName(__glXClientRes, "GLXClient");
       
   418 +    RegisterResourceName(__glXPixmapRes, "GLXPixmap");
       
   419 +    RegisterResourceName(__glXWindowRes, "GLXWindow");
       
   420 +    RegisterResourceName(__glXPbufferRes, "GLXPbuffer");
       
   421 +
       
   422      /*
       
   423      ** Add extension to server extensions.
       
   424      */
       
   425 diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
       
   426 index ba1733b..a2839ea 100644
       
   427 --- a/hw/kdrive/ephyr/ephyrdriext.c
       
   428 +++ b/hw/kdrive/ephyr/ephyrdriext.c
       
   429 @@ -43,6 +43,7 @@
       
   430  #include "privates.h"
       
   431  #include "dixstruct.h"
       
   432  #include "extnsionst.h"
       
   433 +#include "registry.h"
       
   434  #include "colormapst.h"
       
   435  #include "cursorstr.h"
       
   436  #include "scrnintstr.h"
       
   437 @@ -145,6 +146,7 @@ ephyrDRIExtensionInit (ScreenPtr a_screen)
       
   438          EPHYR_LOG_ERROR ("failed to register DRI event resource type\n") ;
       
   439          goto out ;
       
   440      }
       
   441 +    RegisterResourceName(EventType, "DRIEvents");
       
   442  #endif
       
   443  
       
   444      if ((extEntry = AddExtension(XF86DRINAME,
       
   445 diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c
       
   446 index 4920115..c35a83f 100644
       
   447 --- a/hw/xfree86/dixmods/extmod/xf86vmode.c
       
   448 +++ b/hw/xfree86/dixmods/extmod/xf86vmode.c
       
   449 @@ -39,6 +39,7 @@ from Kaleb S. KEITHLEY
       
   450  #include "misc.h"
       
   451  #include "dixstruct.h"
       
   452  #include "extnsionst.h"
       
   453 +#include "registry.h"
       
   454  #include "scrnintstr.h"
       
   455  #include "servermd.h"
       
   456  #include <X11/extensions/xf86vmproto.h>
       
   457 @@ -201,6 +202,7 @@ XFree86VidModeExtensionInit(void)
       
   458  #endif
       
   459  	VidModeErrorBase = extEntry->errorBase;
       
   460  #ifdef XF86VIDMODE_EVENTS
       
   461 +	RegisterResourceName(EventType, "VidModeEvent");
       
   462  	XF86VidModeEventBase = extEntry->eventBase;
       
   463  	EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;
       
   464  #endif
       
   465 diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
       
   466 index 1a6cb4d..be0604e 100644
       
   467 --- a/hw/xfree86/dri/dri.c
       
   468 +++ b/hw/xfree86/dri/dri.c
       
   469 @@ -51,6 +51,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
       
   470  #include "misc.h"
       
   471  #include "dixstruct.h"
       
   472  #include "extnsionst.h"
       
   473 +#include "registry.h"
       
   474  #include "colormapst.h"
       
   475  #include "cursorstr.h"
       
   476  #include "scrnintstr.h"
       
   477 @@ -794,6 +795,8 @@ DRIExtensionInit(void)
       
   478  
       
   479      if (!DRIDrawablePrivResType || !DRIContextPrivResType)
       
   480  	return FALSE;
       
   481 +    RegisterResourceName(DRIDrawablePrivResType, "DRIDrawable");
       
   482 +    RegisterResourceName(DRIContextPrivResType, "DRIContext");
       
   483  
       
   484      RegisterBlockAndWakeupHandlers(DRIBlockHandler, DRIWakeupHandler, NULL);
       
   485  
       
   486 diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c
       
   487 index 035057b..2da9767 100644
       
   488 --- a/hw/xfree86/dri/xf86dri.c
       
   489 +++ b/hw/xfree86/dri/xf86dri.c
       
   490 @@ -47,6 +47,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
       
   491  #include "misc.h"
       
   492  #include "dixstruct.h"
       
   493  #include "extnsionst.h"
       
   494 +#include "registry.h"
       
   495  #include "colormapst.h"
       
   496  #include "cursorstr.h"
       
   497  #include "scrnintstr.h"
       
   498 @@ -111,6 +112,9 @@ XFree86DRIExtensionInit(void)
       
   499  				 StandardMinorOpcode))) {
       
   500  	DRIReqCode = (unsigned char)extEntry->base;
       
   501  	DRIErrorBase = extEntry->errorBase;
       
   502 +#ifdef XF86DRI_EVENTS
       
   503 +	RegisterResourceName(EventType, "DRIEvent");
       
   504 +#endif
       
   505      }
       
   506  }
       
   507  
       
   508 diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
       
   509 index 8acf267..112e76c 100644
       
   510 --- a/hw/xfree86/dri2/dri2ext.c
       
   511 +++ b/hw/xfree86/dri2/dri2ext.c
       
   512 @@ -42,6 +42,7 @@
       
   513  #include "scrnintstr.h"
       
   514  #include "pixmapstr.h"
       
   515  #include "extnsionst.h"
       
   516 +#include "registry.h"
       
   517  #include "xf86drm.h"
       
   518  #include "xfixes.h"
       
   519  #include "dri2.h"
       
   520 @@ -421,6 +422,8 @@ DRI2ExtensionInit(void)
       
   521      if (!dri2DrawableRes)
       
   522  	return;
       
   523  
       
   524 +    RegisterResourceName(dri2DrawableRes, "DRI2Drawable");
       
   525 +
       
   526      dri2Extension = AddExtension(DRI2_NAME,
       
   527  				 DRI2NumberEvents,
       
   528  				 DRI2NumberErrors,
       
   529 diff --git a/hw/xquartz/applewm.c b/hw/xquartz/applewm.c
       
   530 index d1a6175..26cf5d2 100644
       
   531 --- a/hw/xquartz/applewm.c
       
   532 +++ b/hw/xquartz/applewm.c
       
   533 @@ -37,6 +37,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
       
   534  #include "dixstruct.h"
       
   535  #include "globals.h"
       
   536  #include "extnsionst.h"
       
   537 +#include "registry.h"
       
   538  #include "colormapst.h"
       
   539  #include "cursorstr.h"
       
   540  #include "scrnintstr.h"
       
   541 @@ -129,6 +130,8 @@ AppleWMExtensionInit(
       
   542          WMEventBase = extEntry->eventBase;
       
   543          EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
       
   544          appleWMProcs = procsPtr;
       
   545 +	RegisterResourceName(ClientType, "WMClient");
       
   546 +	RegisterResourceName(EventType, "WMEvent");
       
   547      }
       
   548  }
       
   549  
       
   550 diff --git a/hw/xquartz/xpr/dri.c b/hw/xquartz/xpr/dri.c
       
   551 index a9c0f22..b59f5d3 100644
       
   552 --- a/hw/xquartz/xpr/dri.c
       
   553 +++ b/hw/xquartz/xpr/dri.c
       
   554 @@ -55,6 +55,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
       
   555  #include "misc.h"
       
   556  #include "dixstruct.h"
       
   557  #include "extnsionst.h"
       
   558 +#include "registry.h"
       
   559  #include "colormapst.h"
       
   560  #include "cursorstr.h"
       
   561  #include "scrnintstr.h"
       
   562 @@ -279,6 +280,9 @@ DRIExtensionInit(void)
       
   563  {
       
   564      DRIDrawablePrivResType = CreateNewResourceType(DRIDrawablePrivDelete);
       
   565  
       
   566 +    if (DRIDrawablePrivResType != 0)
       
   567 +	RegisterResourceName(DRIDrawablePrivResType, "DRIDrawable");
       
   568 +
       
   569      return (DRIDrawablePrivResType != 0);
       
   570  }
       
   571  
       
   572 diff --git a/hw/xwin/winwindowswm.c b/hw/xwin/winwindowswm.c
       
   573 index 3d4d8c2..2383c59 100755
       
   574 --- a/hw/xwin/winwindowswm.c
       
   575 +++ b/hw/xwin/winwindowswm.c
       
   576 @@ -34,6 +34,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
       
   577  #include "misc.h"
       
   578  #include "dixstruct.h"
       
   579  #include "extnsionst.h"
       
   580 +#include "registry.h"
       
   581  #include "colormapst.h"
       
   582  #include "cursorstr.h"
       
   583  #include "scrnintstr.h"
       
   584 @@ -102,6 +103,8 @@ winWindowsWMExtensionInit ()
       
   585        WMErrorBase = extEntry->errorBase;
       
   586        WMEventBase = extEntry->eventBase;
       
   587        EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
       
   588 +      RegisterResourceName(ClientType, "WMClient");
       
   589 +      RegisterResourceName(eventResourceType, "WMEvent");
       
   590      }
       
   591  }
       
   592  
       
   593 diff --git a/mi/miarc.c b/mi/miarc.c
       
   594 index a3e2580..b4b684b 100644
       
   595 --- a/mi/miarc.c
       
   596 +++ b/mi/miarc.c
       
   597 @@ -62,6 +62,7 @@ SOFTWARE.
       
   598  #include "mifpoly.h"
       
   599  #include "mi.h"
       
   600  #include "mifillarc.h"
       
   601 +#include "registry.h"
       
   602  #include <X11/Xfuncproto.h>
       
   603  
       
   604  static double miDsin(double a);
       
   605 @@ -867,6 +868,7 @@ miComputeWideEllipse(
       
   606  	if (!cacheType)
       
   607  	{
       
   608  	    cacheType = CreateNewResourceType(miFreeArcCache);
       
   609 +	    RegisterResourceName(cacheType, "miArcCache");
       
   610  	    (void) AddResource(FakeClientID(0), cacheType, NULL);
       
   611  	}
       
   612      } else {
       
   613 diff --git a/randr/randr.c b/randr/randr.c
       
   614 index 5944564..7d59a68 100644
       
   615 --- a/randr/randr.c
       
   616 +++ b/randr/randr.c
       
   617 @@ -29,6 +29,8 @@
       
   618  #include <dix-config.h>
       
   619  #endif
       
   620  
       
   621 +#include "registry.h"
       
   622 +
       
   623  #include "randrstr.h"
       
   624  
       
   625  /* From render.h */
       
   626 @@ -339,9 +341,11 @@ RRExtensionInit (void)
       
   627      RRClientType = CreateNewResourceType(RRFreeClient);
       
   628      if (!RRClientType)
       
   629  	return;
       
   630 +    RegisterResourceName(RRClientType, "RandRClient");
       
   631      RREventType = CreateNewResourceType(RRFreeEvents);
       
   632      if (!RREventType)
       
   633  	return;
       
   634 +    RegisterResourceName(RREventType, "RandREvent");
       
   635      extEntry = AddExtension (RANDR_NAME, RRNumberEvents, RRNumberErrors,
       
   636  			     ProcRRDispatch, SProcRRDispatch,
       
   637  			     NULL, StandardMinorOpcode);
       
   638 diff --git a/record/record.c b/record/record.c
       
   639 index b94b4ae..649f4b2 100644
       
   640 --- a/record/record.c
       
   641 +++ b/record/record.c
       
   642 @@ -44,6 +44,7 @@ and Jim Haggerty of Metheus.
       
   643  #include "inputstr.h"
       
   644  #include "eventconvert.h"
       
   645  
       
   646 +#include "registry.h"
       
   647  
       
   648  #include <stdio.h>
       
   649  #include <assert.h>
       
   650 @@ -2878,6 +2879,7 @@ RecordExtensionInit(void)
       
   651      RTContext = CreateNewResourceType(RecordDeleteContext);
       
   652      if (!RTContext)
       
   653  	return;
       
   654 +    RegisterResourceName(RTContext, "RecordContext");
       
   655  
       
   656      ppAllContexts = NULL;
       
   657      numContexts = numEnabledContexts = numEnabledRCAPs = 0;
       
   658 diff --git a/render/render.c b/render/render.c
       
   659 index a32d797..53bb555 100644
       
   660 --- a/render/render.c
       
   661 +++ b/render/render.c
       
   662 @@ -46,6 +46,7 @@
       
   663  #include "cursorstr.h"
       
   664  #include "xace.h"
       
   665  #include "protocol-versions.h"
       
   666 +#include "registry.h"
       
   667  
       
   668  #if HAVE_STDINT_H
       
   669  #include <stdint.h>
       
   670 @@ -3241,6 +3242,9 @@ PanoramiXRenderInit (void)
       
   671      int	    i;
       
   672      
       
   673      XRT_PICTURE = CreateNewResourceType (XineramaDeleteResource);
       
   674 +    if (XRT_PICTURE)
       
   675 +	RegisterResourceName(XRT_PICTURE, "XineramaPicture");
       
   676 +
       
   677      for (i = 0; i < RenderNumberRequests; i++)
       
   678  	PanoramiXSaveRenderVector[i] = ProcRenderVector[i];
       
   679      /*
       
   680 diff --git a/xfixes/cursor.c b/xfixes/cursor.c
       
   681 index c3e1e35..0ef3e3a 100644
       
   682 --- a/xfixes/cursor.c
       
   683 +++ b/xfixes/cursor.c
       
   684 @@ -53,6 +53,7 @@
       
   685  #include "inputstr.h"
       
   686  #include "windowstr.h"
       
   687  #include "xace.h"
       
   688 +#include "registry.h"
       
   689  
       
   690  static RESTYPE		CursorClientType;
       
   691  static RESTYPE		CursorHideCountType;
       
   692 @@ -1085,8 +1086,14 @@ XFixesCursorInit (void)
       
   693  	SetCursorScreen (pScreen, cs);
       
   694      }
       
   695      CursorClientType = CreateNewResourceType(CursorFreeClient);
       
   696 +    if (CursorClientType)
       
   697 +	RegisterResourceName(CursorClientType, "XFixesCursorClient");
       
   698      CursorHideCountType = CreateNewResourceType(CursorFreeHideCount);
       
   699 +    if (CursorHideCountType)
       
   700 +	RegisterResourceName(CursorClientType, "XFixesCursorClient");
       
   701      CursorWindowType = CreateNewResourceType(CursorFreeWindow);
       
   702 +    if (CursorWindowType)
       
   703 +	RegisterResourceName(CursorWindowType, "XFixesCursorWindow");
       
   704  
       
   705      if (pInvisibleCursor == NULL) {
       
   706  	pInvisibleCursor = createInvisibleCursor();
       
   707 diff --git a/xfixes/region.c b/xfixes/region.c
       
   708 index 59d8cee..3942c9d 100644
       
   709 --- a/xfixes/region.c
       
   710 +++ b/xfixes/region.c
       
   711 @@ -33,6 +33,7 @@ extern int RenderErrBase;
       
   712  #include <regionstr.h>
       
   713  #include <gcstruct.h>
       
   714  #include <window.h>
       
   715 +#include "registry.h"
       
   716  
       
   717  RESTYPE RegionResType;
       
   718  
       
   719 @@ -65,6 +66,9 @@ XFixesRegionInit (void)
       
   720  {
       
   721      RegionResType = CreateNewResourceType(RegionResFree);
       
   722  
       
   723 +    if (RegionResType)
       
   724 +	RegisterResourceName(RegionResType, "XFixesRegion");
       
   725 +
       
   726      return (RegionResType != 0);
       
   727  }
       
   728  
       
   729 diff --git a/xfixes/select.c b/xfixes/select.c
       
   730 index a5811bd..5a00ea8 100644
       
   731 --- a/xfixes/select.c
       
   732 +++ b/xfixes/select.c
       
   733 @@ -26,6 +26,7 @@
       
   734  
       
   735  #include "xfixesint.h"
       
   736  #include "xace.h"
       
   737 +#include "registry.h"
       
   738  
       
   739  static RESTYPE		SelectionClientType, SelectionWindowType;
       
   740  static Bool		SelectionCallbackRegistered = FALSE;
       
   741 @@ -285,6 +286,11 @@ Bool
       
   742  XFixesSelectionInit (void)
       
   743  {
       
   744      SelectionClientType = CreateNewResourceType(SelectionFreeClient);
       
   745 +    if (SelectionClientType)
       
   746 +	RegisterResourceName(SelectionClientType, "XFixesSelectionClient");
       
   747      SelectionWindowType = CreateNewResourceType(SelectionFreeWindow);
       
   748 +    if (SelectionWindowType)
       
   749 +	RegisterResourceName(SelectionWindowType, "XFixesSelectionWindow");
       
   750 +
       
   751      return SelectionClientType && SelectionWindowType;
       
   752  }
       
   753 diff --git a/xkb/xkb.c b/xkb/xkb.c
       
   754 index c490f8b..f5ccd16 100644
       
   755 --- a/xkb/xkb.c
       
   756 +++ b/xkb/xkb.c
       
   757 @@ -39,6 +39,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
       
   758  #include "xace.h"
       
   759  #include "xkb.h"
       
   760  #include "protocol-versions.h"
       
   761 +#include "registry.h"
       
   762  
       
   763  #include <X11/extensions/XI.h>
       
   764  #include <X11/extensions/XKMformat.h>
       
   765 @@ -6707,6 +6708,7 @@ XkbExtensionInit(void)
       
   766      RT_XKBCLIENT = CreateNewResourceType(XkbClientGone);
       
   767      if (!RT_XKBCLIENT)
       
   768  	return;
       
   769 +    RegisterResourceName(RT_XKBCLIENT, "XkbClient");
       
   770  
       
   771      if ((extEntry = AddExtension(XkbName, XkbNumberEvents, XkbNumberErrors,
       
   772  				 ProcXkbDispatch, SProcXkbDispatch,
       
   773 -- 
       
   774 1.5.6.5
       
   775