mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 19:45:20 +00:00
gs_frame: fix the mysterious "second boot crash"
This commit is contained in:
parent
f69e252c7a
commit
f8c2e198c5
1 changed files with 17 additions and 22 deletions
|
@ -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); });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue