diff --git a/src/osd/modules/render/drawgdi.cpp b/src/osd/modules/render/drawgdi.cpp index ae56b1ae09f..bd0e6425b6e 100644 --- a/src/osd/modules/render/drawgdi.cpp +++ b/src/osd/modules/render/drawgdi.cpp @@ -52,6 +52,8 @@ render_primitive_list *renderer_gdi::get_primitives() RECT client; GetClientRect(std::static_pointer_cast(win)->platform_window(), &client); + if ((rect_width(&client) == 0) || (rect_height(&client) == 0)) + return nullptr; win->target()->set_bounds(rect_width(&client), rect_height(&client), win->pixel_aspect()); return &win->target()->get_primitives(); } diff --git a/src/osd/modules/render/drawnone.cpp b/src/osd/modules/render/drawnone.cpp index f56660a7d05..e8bbfa15432 100644 --- a/src/osd/modules/render/drawnone.cpp +++ b/src/osd/modules/render/drawnone.cpp @@ -34,6 +34,8 @@ render_primitive_list *renderer_none::get_primitives() client.top = bounds.Top; client.bottom = bounds.Bottom; #endif + if ((rect_width(&client) == 0) || (rect_height(&client) == 0)) + return nullptr; win->target()->set_bounds(rect_width(&client), rect_height(&client), win->pixel_aspect()); return &win->target()->get_primitives(); } diff --git a/src/osd/modules/render/drawogl.h b/src/osd/modules/render/drawogl.h index bf70a96ee94..8bfd2ba1f50 100644 --- a/src/osd/modules/render/drawogl.h +++ b/src/osd/modules/render/drawogl.h @@ -151,6 +151,8 @@ public: m_blit_dim = nd; notify_changed(); } + if ((m_blit_dim.width() == 0) || (m_blit_dim.height() == 0)) + return nullptr; win->target()->set_bounds(m_blit_dim.width(), m_blit_dim.height(), win->pixel_aspect()); return &win->target()->get_primitives(); }