diff --git a/rpcs3/rpcs3qt/gs_frame.cpp b/rpcs3/rpcs3qt/gs_frame.cpp index 13af21a7eb..ddb602e46d 100644 --- a/rpcs3/rpcs3qt/gs_frame.cpp +++ b/rpcs3/rpcs3qt/gs_frame.cpp @@ -15,6 +15,16 @@ gs_frame::gs_frame(const QString& title, int w, int h, QIcon appIcon) { m_windowTitle = title; + if (!Emu.GetTitle().empty()) + { + m_windowTitle += qstr(" | " + Emu.GetTitle()); + } + + if (!Emu.GetTitleID().empty()) + { + m_windowTitle += qstr(" | [" + Emu.GetTitleID() + ']'); + } + if (!appIcon.isNull()) { setIcon(appIcon); @@ -24,6 +34,8 @@ gs_frame::gs_frame(const QString& title, int w, int h, QIcon appIcon) resize(w, h); + setVisibility(QWindow::Visibility::AutomaticVisibility); + // Change cursor when in fullscreen. connect(this, &QWindow::visibilityChanged, this, &gs_frame::HandleCursor); } @@ -85,7 +97,7 @@ void gs_frame::OnFullScreen() void gs_frame::close() { Emu.Stop(); - Emu.CallAfter([=]() {QWindow::close(); }); + Emu.CallAfter([=]() {QWindow::close(); deleteLater(); }); } bool gs_frame::shown() @@ -153,23 +165,6 @@ int gs_frame::client_height() void gs_frame::flip(draw_context_t, bool /*skip_frame*/) { - QString title; - - if (!m_windowTitle.isEmpty()) - { - title += m_windowTitle; - } - - if (!Emu.GetTitle().empty()) - { - title += qstr(" | " + Emu.GetTitle()); - } - - if (!Emu.GetTitleID().empty()) - { - title += qstr(" | [" + Emu.GetTitleID() + ']'); - } - if (m_show_fps) { ++m_frames; @@ -180,9 +175,9 @@ void gs_frame::flip(draw_context_t, bool /*skip_frame*/) { QString fps_title = qstr(fmt::format("FPS: %.2f", (double)m_frames / fps_t.GetElapsedTimeInSec())); - if (!title.isEmpty()) + if (!m_windowTitle.isEmpty()) { - fps_title += " | " + title; + fps_title += " | " + m_windowTitle; } Emu.CallAfter([this, title = std::move(fps_title)]() {setTitle(title); }); @@ -193,9 +188,9 @@ void gs_frame::flip(draw_context_t, bool /*skip_frame*/) } else { - if (this->title() != title) + if (this->title() != m_windowTitle) { - Emu.CallAfter([this, title = std::move(title)]() {setTitle(title); }); + Emu.CallAfter([this, title = std::move(m_windowTitle)]() {setTitle(m_windowTitle); }); } } }