[PATCH xserver 7/8] dix: Remove colormap private fixup

Aaron Plattner aplattner at nvidia.com
Wed Jan 31 20:15:00 UTC 2018


On 01/31/2018 07:54 AM, Adam Jackson wrote:
> The old xfree86 colormap system was the only thing that would register a
> colormap private after the colormap was created.  Since that's gone now
> we can remove the special case.

Our driver does this for some wacky overlay stuff, but I think it's just
a sequencing quirk that we could fix. I'll look into that today.

-- Aaron

> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
>  dix/privates.c     | 21 +--------------------
>  include/privates.h |  2 +-
>  2 files changed, 2 insertions(+), 21 deletions(-)
> 
> diff --git a/dix/privates.c b/dix/privates.c
> index 9ca80f0b6..b28e60fe7 100644
> --- a/dix/privates.c
> +++ b/dix/privates.c
> @@ -91,10 +91,10 @@ static const char *key_names[PRIVATE_LAST] = {
>      /* These can have objects created before all of the keys are registered */
>      [PRIVATE_SCREEN] = "SCREEN",
>      [PRIVATE_EXTENSION] = "EXTENSION",
> -    [PRIVATE_COLORMAP] = "COLORMAP",
>      [PRIVATE_DEVICE] = "DEVICE",
>  
>      /* These cannot have any objects before all relevant keys are registered */
> +    [PRIVATE_COLORMAP] = "COLORMAP",
>      [PRIVATE_CLIENT] = "CLIENT",
>      [PRIVATE_PROPERTY] = "PROPERTY",
>      [PRIVATE_SELECTION] = "SELECTION",
> @@ -250,24 +250,6 @@ fixupExtensions(FixupFunc fixup, unsigned bytes)
>      return TRUE;
>  }
>  
> -static Bool
> -fixupDefaultColormaps(FixupFunc fixup, unsigned bytes)
> -{
> -    int s;
> -
> -    for (s = 0; s < screenInfo.numScreens; s++) {
> -        ColormapPtr cmap;
> -
> -        dixLookupResourceByType((void **) &cmap,
> -                                screenInfo.screens[s]->defColormap, RT_COLORMAP,
> -                                serverClient, DixCreateAccess);
> -        if (cmap &&
> -            !fixup(&cmap->devPrivates, screenInfo.screens[s]->screenSpecificPrivates[PRIVATE_COLORMAP].offset, bytes))
> -            return FALSE;
> -    }
> -    return TRUE;
> -}
> -
>  static Bool
>  fixupDeviceList(DeviceIntPtr device, FixupFunc fixup, unsigned bytes)
>  {
> @@ -290,7 +272,6 @@ static Bool (*const allocated_early[PRIVATE_LAST]) (FixupFunc, unsigned) = {
>      [PRIVATE_SCREEN] = fixupScreens,
>      [PRIVATE_CLIENT] = fixupServerClient,
>      [PRIVATE_EXTENSION] = fixupExtensions,
> -    [PRIVATE_COLORMAP] = fixupDefaultColormaps,
>      [PRIVATE_DEVICE] = fixupDevices,
>  };
>  
> diff --git a/include/privates.h b/include/privates.h
> index e89c3e440..bbd8c3355 100644
> --- a/include/privates.h
> +++ b/include/privates.h
> @@ -32,10 +32,10 @@ typedef enum {
>      /* These can have objects created before all of the keys are registered */
>      PRIVATE_SCREEN,
>      PRIVATE_EXTENSION,
> -    PRIVATE_COLORMAP,
>      PRIVATE_DEVICE,
>  
>      /* These cannot have any objects before all relevant keys are registered */
> +    PRIVATE_COLORMAP,
>      PRIVATE_CLIENT,
>      PRIVATE_PROPERTY,
>      PRIVATE_SELECTION,
> 



More information about the xorg-devel mailing list