[x11,client] assert use of xfc->depth
Do not use color depth settings before they are initialized
This commit is contained in:
parent
eda1359f52
commit
4008033065
@ -231,6 +231,7 @@ static Pixmap xf_brush_new(xfContext* xfc, UINT32 width, UINT32 height, UINT32 b
|
|||||||
gdi = xfc->common.context.gdi;
|
gdi = xfc->common.context.gdi;
|
||||||
WINPR_ASSERT(gdi);
|
WINPR_ASSERT(gdi);
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
bitmap = XCreatePixmap(xfc->display, xfc->drawable, width, height, xfc->depth);
|
bitmap = XCreatePixmap(xfc->display, xfc->drawable, width, height, xfc->depth);
|
||||||
|
|
||||||
if (data)
|
if (data)
|
||||||
@ -1004,6 +1005,7 @@ static BOOL xf_gdi_update_screen(xfContext* xfc, BYTE* pSrcData, UINT32 scanline
|
|||||||
if (!(rects = region16_rects(pRegion, &nbRects)))
|
if (!(rects = region16_rects(pRegion, &nbRects)))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
if (xfc->depth > 16)
|
if (xfc->depth > 16)
|
||||||
bpp = 4;
|
bpp = 4;
|
||||||
else if (xfc->depth > 8)
|
else if (xfc->depth > 8)
|
||||||
|
@ -323,6 +323,7 @@ static UINT xf_CreateSurface(RdpgfxClientContext* context,
|
|||||||
|
|
||||||
if (FreeRDPAreColorFormatsEqualNoAlpha(gdi->dstFormat, surface->gdi.format))
|
if (FreeRDPAreColorFormatsEqualNoAlpha(gdi->dstFormat, surface->gdi.format))
|
||||||
{
|
{
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
surface->image =
|
surface->image =
|
||||||
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0,
|
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0,
|
||||||
(char*)surface->gdi.data, surface->gdi.mappedWidth,
|
(char*)surface->gdi.data, surface->gdi.mappedWidth,
|
||||||
@ -344,6 +345,7 @@ static UINT xf_CreateSurface(RdpgfxClientContext* context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ZeroMemory(surface->stage, size);
|
ZeroMemory(surface->stage, size);
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
surface->image =
|
surface->image =
|
||||||
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0, (char*)surface->stage,
|
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0, (char*)surface->stage,
|
||||||
surface->gdi.mappedWidth, surface->gdi.mappedHeight, xfc->scanline_pad,
|
surface->gdi.mappedWidth, surface->gdi.mappedHeight, xfc->scanline_pad,
|
||||||
|
@ -117,6 +117,8 @@ static BOOL xf_Bitmap_New(rdpContext* context, rdpBitmap* bitmap)
|
|||||||
gdi = context->gdi;
|
gdi = context->gdi;
|
||||||
xf_lock_x11(xfc);
|
xf_lock_x11(xfc);
|
||||||
depth = FreeRDPGetBitsPerPixel(bitmap->format);
|
depth = FreeRDPGetBitsPerPixel(bitmap->format);
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
xbitmap->pixmap =
|
xbitmap->pixmap =
|
||||||
XCreatePixmap(xfc->display, xfc->drawable, bitmap->width, bitmap->height, xfc->depth);
|
XCreatePixmap(xfc->display, xfc->drawable, bitmap->width, bitmap->height, xfc->depth);
|
||||||
|
|
||||||
@ -145,6 +147,7 @@ static BOOL xf_Bitmap_New(rdpContext* context, rdpBitmap* bitmap)
|
|||||||
bitmap->format = gdi->dstFormat;
|
bitmap->format = gdi->dstFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
xbitmap->image =
|
xbitmap->image =
|
||||||
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0, (char*)bitmap->data,
|
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0, (char*)bitmap->data,
|
||||||
bitmap->width, bitmap->height, xfc->scanline_pad, 0);
|
bitmap->width, bitmap->height, xfc->scanline_pad, 0);
|
||||||
@ -782,6 +785,7 @@ UINT32 xf_get_local_color_format(xfContext* xfc, BOOL aligned)
|
|||||||
|
|
||||||
invert = xfc->invert;
|
invert = xfc->invert;
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
if (xfc->depth == 32)
|
if (xfc->depth == 32)
|
||||||
DstFormat = (!invert) ? PIXEL_FORMAT_RGBA32 : PIXEL_FORMAT_BGRA32;
|
DstFormat = (!invert) ? PIXEL_FORMAT_RGBA32 : PIXEL_FORMAT_BGRA32;
|
||||||
else if (xfc->depth == 30)
|
else if (xfc->depth == 30)
|
||||||
|
@ -499,6 +499,7 @@ xfWindow* xf_CreateDesktopWindow(xfContext* xfc, char* name, int width, int heig
|
|||||||
window->is_mapped = FALSE;
|
window->is_mapped = FALSE;
|
||||||
window->is_transient = FALSE;
|
window->is_transient = FALSE;
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
window->handle =
|
window->handle =
|
||||||
XCreateWindow(xfc->display, RootWindowOfScreen(xfc->screen), xfc->workArea.x,
|
XCreateWindow(xfc->display, RootWindowOfScreen(xfc->screen), xfc->workArea.x,
|
||||||
xfc->workArea.y, xfc->workArea.width, xfc->workArea.height, 0, xfc->depth,
|
xfc->workArea.y, xfc->workArea.width, xfc->workArea.height, 0, xfc->depth,
|
||||||
@ -812,6 +813,8 @@ BOOL xf_AppWindowCreate(xfContext* xfc, xfAppWindow* appWindow)
|
|||||||
appWindow->maxHorz = FALSE;
|
appWindow->maxHorz = FALSE;
|
||||||
appWindow->minimized = FALSE;
|
appWindow->minimized = FALSE;
|
||||||
appWindow->rail_ignore_configure = FALSE;
|
appWindow->rail_ignore_configure = FALSE;
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
appWindow->handle =
|
appWindow->handle =
|
||||||
XCreateWindow(xfc->display, RootWindowOfScreen(xfc->screen), appWindow->x, appWindow->y,
|
XCreateWindow(xfc->display, RootWindowOfScreen(xfc->screen), appWindow->x, appWindow->y,
|
||||||
appWindow->width, appWindow->height, 0, xfc->depth, InputOutput, xfc->visual,
|
appWindow->width, appWindow->height, 0, xfc->depth, InputOutput, xfc->visual,
|
||||||
@ -1244,6 +1247,7 @@ UINT xf_AppUpdateWindowFromSurface(xfContext* xfc, gdiGfxSurface* surface)
|
|||||||
|
|
||||||
if (!appWindow->image)
|
if (!appWindow->image)
|
||||||
{
|
{
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
appWindow->image =
|
appWindow->image =
|
||||||
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0, surface->data,
|
XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap, 0, surface->data,
|
||||||
surface->width, surface->height, xfc->scanline_pad, surface->scanline);
|
surface->width, surface->height, xfc->scanline_pad, surface->scanline);
|
||||||
@ -1295,6 +1299,8 @@ BOOL xf_AppWindowResize(xfContext* xfc, xfAppWindow* appWindow)
|
|||||||
|
|
||||||
if (appWindow->pixmap != 0)
|
if (appWindow->pixmap != 0)
|
||||||
XFreePixmap(xfc->display, appWindow->pixmap);
|
XFreePixmap(xfc->display, appWindow->pixmap);
|
||||||
|
|
||||||
|
WINPR_ASSERT(xfc->depth != 0);
|
||||||
appWindow->pixmap =
|
appWindow->pixmap =
|
||||||
XCreatePixmap(xfc->display, xfc->drawable, appWindow->width, appWindow->height, xfc->depth);
|
XCreatePixmap(xfc->display, xfc->drawable, appWindow->width, appWindow->height, xfc->depth);
|
||||||
xf_AppWindowDestroyImage(appWindow);
|
xf_AppWindowDestroyImage(appWindow);
|
||||||
|
Loading…
Reference in New Issue
Block a user