mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-10 08:38:20 +00:00
[client] egl: check for invalid desktop render dimensions
This commit is contained in:
parent
70a751b58d
commit
edc9825c04
@ -352,6 +352,9 @@ bool egl_desktopRender(EGL_Desktop * desktop, unsigned int outputWidth,
|
|||||||
const float scaleX, const float scaleY, enum EGL_DesktopScaleType scaleType,
|
const float scaleX, const float scaleY, enum EGL_DesktopScaleType scaleType,
|
||||||
LG_RendererRotate rotate, const struct DamageRects * rects)
|
LG_RendererRotate rotate, const struct DamageRects * rects)
|
||||||
{
|
{
|
||||||
|
if (outputWidth == 0 && outputHeight == 0)
|
||||||
|
DEBUG_FATAL("outputWidth || outputHeight == 0");
|
||||||
|
|
||||||
enum EGL_TexStatus status;
|
enum EGL_TexStatus status;
|
||||||
if ((status = egl_textureProcess(desktop->texture)) != EGL_TEX_STATUS_OK)
|
if ((status = egl_textureProcess(desktop->texture)) != EGL_TEX_STATUS_OK)
|
||||||
{
|
{
|
||||||
|
@ -1008,7 +1008,7 @@ static bool egl_render(LG_Renderer * renderer, LG_RendererRotate rotate,
|
|||||||
}
|
}
|
||||||
++this->overlayHistoryIdx;
|
++this->overlayHistoryIdx;
|
||||||
|
|
||||||
if (this->start)
|
if (this->start && this->destRect.w > 0 && this->destRect.h > 0)
|
||||||
{
|
{
|
||||||
if (egl_desktopRender(this->desktop,
|
if (egl_desktopRender(this->desktop,
|
||||||
this->destRect.w, this->destRect.h,
|
this->destRect.w, this->destRect.h,
|
||||||
|
@ -133,7 +133,7 @@ static void loadPresetList(struct EGL_PostProcess * this)
|
|||||||
this->activePreset = -1;
|
this->activePreset = -1;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
free(this->presetDir);
|
free(this->presetDir);
|
||||||
this->presetDir = NULL;
|
this->presetDir = NULL;
|
||||||
if (dir)
|
if (dir)
|
||||||
@ -585,6 +585,9 @@ bool egl_postProcessRun(EGL_PostProcess * this, EGL_Texture * tex,
|
|||||||
EGL_DesktopRects * rects, int desktopWidth, int desktopHeight,
|
EGL_DesktopRects * rects, int desktopWidth, int desktopHeight,
|
||||||
unsigned int targetX, unsigned int targetY)
|
unsigned int targetX, unsigned int targetY)
|
||||||
{
|
{
|
||||||
|
if (targetX == 0 && targetY == 0)
|
||||||
|
DEBUG_FATAL("targetX || targetY == 0");
|
||||||
|
|
||||||
EGL_Filter * lastFilter = NULL;
|
EGL_Filter * lastFilter = NULL;
|
||||||
unsigned int sizeX, sizeY;
|
unsigned int sizeX, sizeY;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user