diff --git a/src/uterm_video_drm.c b/src/uterm_video_drm.c index 1259145..6ea5355 100644 --- a/src/uterm_video_drm.c +++ b/src/uterm_video_drm.c @@ -766,6 +766,9 @@ static int display_fake_blendv(struct uterm_display *disp, return -EINVAL; for (i = 0; i < num; ++i, ++req) { + if (!req->buf) + continue; + ret = display_blend(disp, req->buf, req->x, req->y, req->fr, req->fg, req->fb, req->br, req->bg, req->bb); diff --git a/src/uterm_video_dumb.c b/src/uterm_video_dumb.c index c3c4506..b054ff2 100644 --- a/src/uterm_video_dumb.c +++ b/src/uterm_video_dumb.c @@ -518,6 +518,9 @@ static int display_fake_blendv(struct uterm_display *disp, sh = disp->current_mode->dumb.info.vdisplay; for (j = 0; j < num; ++j, ++req) { + if (!req->buf) + continue; + if (req->buf->format != UTERM_FORMAT_GREY) return -EOPNOTSUPP; diff --git a/src/uterm_video_fbdev.c b/src/uterm_video_fbdev.c index ed17ae1..877ea28 100644 --- a/src/uterm_video_fbdev.c +++ b/src/uterm_video_fbdev.c @@ -651,6 +651,9 @@ static int display_fake_blendv(struct uterm_display *disp, return -EINVAL; for (j = 0; j < num; ++j, ++req) { + if (!req->buf) + continue; + if (req->buf->format != UTERM_FORMAT_GREY) return -EOPNOTSUPP;