Skip to content
Permalink
Browse files
Merge pull request #8582 from jordan-woyak/osd-disabled-fix
VideoCommon/OSD: Process OSD messages even when they are disabled.
  • Loading branch information
Tilka committed Jan 25, 2020
2 parents a632bc7 + c08671c commit 2edcb29
Showing 1 changed file with 20 additions and 18 deletions.
@@ -94,29 +94,31 @@ void AddMessage(std::string message, u32 ms, u32 rgba)

void DrawMessages()
{
if (!SConfig::GetInstance().bOnScreenDisplayMessages)
return;
const bool draw_messages = SConfig::GetInstance().bOnScreenDisplayMessages;
const u32 now = Common::Timer::GetTimeMs();
const float current_x = LEFT_MARGIN * ImGui::GetIO().DisplayFramebufferScale.x;
float current_y = TOP_MARGIN * ImGui::GetIO().DisplayFramebufferScale.y;
int index = 0;

{
std::lock_guard lock{s_messages_mutex};
std::lock_guard lock{s_messages_mutex};

const u32 now = Common::Timer::GetTimeMs();
float current_x = LEFT_MARGIN * ImGui::GetIO().DisplayFramebufferScale.x;
float current_y = TOP_MARGIN * ImGui::GetIO().DisplayFramebufferScale.y;
int index = 0;
for (auto it = s_messages.begin(); it != s_messages.end();)
{
const Message& msg = it->second;
const int time_left = static_cast<int>(msg.timestamp - now);

auto it = s_messages.begin();
while (it != s_messages.end())
if (time_left <= 0)
{
const Message& msg = it->second;
const int time_left = static_cast<int>(msg.timestamp - now);
current_y += DrawMessage(index++, msg, ImVec2(current_x, current_y), time_left);

if (time_left <= 0)
it = s_messages.erase(it);
else
++it;
it = s_messages.erase(it);
continue;
}
else
{
++it;
}

if (draw_messages)
current_y += DrawMessage(index++, msg, ImVec2(current_x, current_y), time_left);
}
}

0 comments on commit 2edcb29

Please sign in to comment.