summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2020-11-13 20:04:24 +1100
committer Vas Crabb <vas@vastheman.com>2020-11-13 20:04:24 +1100
commitd744f2a4fc2238b7970fa313be7f9f425c2a4cd8 (patch)
tree897159a104f5786156019ea7967e1831c9e7ce22 /src
parentc3264ca803b5e29ee34bacffbaae314f19c9ac37 (diff)
rendlay.cpp: Set initial value for bounds callback, it can be called before tags are resolved.
Diffstat (limited to 'src')
-rw-r--r--src/emu/render.cpp4
-rw-r--r--src/emu/rendlay.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/emu/render.cpp b/src/emu/render.cpp
index 9c7e808bc9f..178a56c5c78 100644
--- a/src/emu/render.cpp
+++ b/src/emu/render.cpp
@@ -1262,10 +1262,10 @@ void render_target::compute_minimum_size(s32 &minwidth, s32 &minheight)
// scan the current view for all screens
for (layout_view::item &curitem : current_view().items())
{
- if (curitem.screen())
+ screen_device *const screen = curitem.screen();
+ if (screen)
{
// use a hard-coded default visible area for vector screens
- screen_device *const screen = curitem.screen();
const rectangle vectorvis(0, 639, 0, 479);
const rectangle &visarea = (screen->screen_type() == SCREEN_TYPE_VECTOR) ? vectorvis : screen->visible_area();
diff --git a/src/emu/rendlay.cpp b/src/emu/rendlay.cpp
index 0a88d42902b..d5b2e960834 100644
--- a/src/emu/rendlay.cpp
+++ b/src/emu/rendlay.cpp
@@ -4475,6 +4475,10 @@ layout_view::item::item(
{
throw layout_syntax_error(util::string_format("item of type %s require an element tag", itemnode.get_name()));
}
+
+ // this can be called before resolving tags, make it return something valid
+ m_bounds = m_rawbounds;
+ m_get_bounds = bounds_delegate(&emu::render::detail::bounds_step::get, &const_cast<emu::render::detail::bounds_step &>(m_bounds.front()));
}