diff options
Diffstat (limited to 'src/osd/uwp/window.cpp')
-rw-r--r-- | src/osd/uwp/window.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/osd/uwp/window.cpp b/src/osd/uwp/window.cpp index 12c67308f22..7aae818b958 100644 --- a/src/osd/uwp/window.cpp +++ b/src/osd/uwp/window.cpp @@ -257,6 +257,7 @@ uwp_window_info::uwp_window_info( m_target(nullptr), m_targetview(0), m_targetorient(0), + m_targetvismask(0), m_lastclicktime(std::chrono::system_clock::time_point::min()), m_lastclickx(0), m_lastclicky(0), @@ -403,6 +404,7 @@ void uwp_window_info::create(running_machine &machine, int index, std::shared_pt window->m_targetview = window->m_target->view(); window->m_targetorient = window->m_target->orientation(); window->m_targetlayerconfig = window->m_target->layer_config(); + window->m_targetvismask = window->m_target->visibility_mask(); // make the window title if (video_config.numscreens == 1) @@ -472,20 +474,19 @@ void uwp_window_info::destroy() void uwp_window_info::update() { - int targetview, targetorient; - render_layer_config targetlayerconfig; - assert(GetCurrentThreadId() == main_threadid); // see if the target has changed significantly in window mode - targetview = m_target->view(); - targetorient = m_target->orientation(); - targetlayerconfig = m_target->layer_config(); - if (targetview != m_targetview || targetorient != m_targetorient || targetlayerconfig != m_targetlayerconfig) + unsigned const targetview = m_target->view(); + int const targetorient = m_target->orientation(); + render_layer_config const targetlayerconfig = m_target->layer_config(); + u32 const targetvismask = m_target->visibility_mask(); + if (targetview != m_targetview || targetorient != m_targetorient || targetlayerconfig != m_targetlayerconfig || targetvismask != m_targetvismask) { m_targetview = targetview; m_targetorient = targetorient; m_targetlayerconfig = targetlayerconfig; + m_targetvismask = targetvismask; // in window mode, reminimize/maximize if (!fullscreen()) |