[PATCH xf86-video-dummy 5/6] Get rid of dPtr->FBBase

Bob Terek xorg at esoterek.com
Sat Dec 10 02:41:53 UTC 2016


On 01/24/2015 03:08 PM, Aaron Plattner wrote:
> The pointer to the screen's pixels is stored in the screen pixmap's
> devPrivate.ptr field.  Just use that instead of storing it
> redundantly.
>
> In addition, don't leak the screen if the server was VT switched.
>
> Signed-off-by: Aaron Plattner <aplattner at nvidia.com>

I tried to apply this patch but it failed.

Bob Terek


> ---
>  src/dummy.h        |  1 -
>  src/dummy_cursor.c |  2 --
>  src/dummy_driver.c | 11 +++++------
>  3 files changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/src/dummy.h b/src/dummy.h
> index f902fa607fce..82fbdeaaaa54 100644
> --- a/src/dummy.h
> +++ b/src/dummy.h
> @@ -50,7 +50,6 @@ typedef struct dummyRec
>      int cursorFG, cursorBG;
>
>      dummy_colors colors[256];
> -    pointer* FBBase;
>      Bool        (*CreateWindow)() ;     /* wrapped CreateWindow */
>      Bool prop;
>  } DUMMYRec, *DUMMYPtr;
> diff --git a/src/dummy_cursor.c b/src/dummy_cursor.c
> index 07a89bf20cb4..d7c67c6962ff 100644
> --- a/src/dummy_cursor.c
> +++ b/src/dummy_cursor.c
> @@ -39,8 +39,6 @@ dummySetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
>  {
>      DUMMYPtr dPtr = DUMMYPTR(pScrn);
>
> -/*     unsigned char *_dest = ((unsigned char *)dPtr->FBBase + */
> -/* 			    pScrn->videoRam * 1024 - 1024); */
>      dPtr->cursorX = x;
>      dPtr->cursorY = y;
>  }
> diff --git a/src/dummy_driver.c b/src/dummy_driver.c
> index 194b39fca817..8262f39f2563 100644
> --- a/src/dummy_driver.c
> +++ b/src/dummy_driver.c
> @@ -505,7 +505,8 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL)
>      DUMMYPtr dPtr;
>      int ret;
>      VisualPtr visual;
> -
> +    void *pixels;
> +
>      /*
>       * we need to get the ScrnInfoRec for this screen, so let's allocate
>       * one first thing
> @@ -515,7 +516,7 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL)
>      DUMMYScrn = pScrn;
>
>
> -    if (!(dPtr->FBBase = malloc(pScrn->videoRam * 1024)))
> +    if (!(pixels = malloc(pScrn->videoRam * 1024)))
>  	return FALSE;
>
>      DUMMYAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
> @@ -538,7 +539,7 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL)
>       * Call the framebuffer layer's ScreenInit function, and fill in other
>       * pScreen fields.
>       */
> -    ret = fbScreenInit(pScreen, dPtr->FBBase,
> +    ret = fbScreenInit(pScreen, pixels,
>  			    pScrn->virtualX, pScrn->virtualY,
>  			    pScrn->xDpi, pScrn->yDpi,
>  			    pScrn->displayWidth, pScrn->bitsPerPixel);
> @@ -649,9 +650,7 @@ DUMMYCloseScreen(CLOSE_SCREEN_ARGS_DECL)
>      ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
>      DUMMYPtr dPtr = DUMMYPTR(pScrn);
>
> -    if(pScrn->vtSema){
> -	free(dPtr->FBBase);
> -    }
> +    free(pScreen->GetScreenPixmap(pScreen)->devPrivate.ptr);
>
>      if (dPtr->CursorInfo)
>  	xf86DestroyCursorInfoRec(dPtr->CursorInfo);
>


More information about the xorg-devel mailing list