notification init() at first render, not notification creation. Hopefully a fix of issue #4647.

This commit is contained in:
David Kocik 2020-08-26 10:49:42 +02:00
parent a81afce1b8
commit 3984326ee3
2 changed files with 12 additions and 6 deletions

View File

@ -49,13 +49,17 @@ NotificationManager::PopNotification::PopNotification(const NotificationData &n,
, m_text2 (n.text2)
, m_evt_handler (evt_handler)
{
init();
//init();
}
NotificationManager::PopNotification::~PopNotification()
{
}
NotificationManager::PopNotification::RenderResult NotificationManager::PopNotification::render(GLCanvas3D& canvas, const float& initial_y)
{
if (!m_initialized)
{
init();
}
if (m_finished)
return RenderResult::Finished;
if (m_close_pending) {
@ -228,6 +232,7 @@ void NotificationManager::PopNotification::init()
}
m_lines_count++;
}
m_initialized = true;
}
void NotificationManager::PopNotification::set_next_window_size(ImGuiWrapper& imgui)
{

View File

@ -121,6 +121,7 @@ public:
const NotificationData m_data;
int m_id;
bool m_initialized { false };
// Main text
std::string m_text1;
// Clickable text
@ -131,12 +132,12 @@ public:
long m_remaining_time;
bool m_counting_down;
long m_last_remaining_time;
bool m_paused{ false };
int m_countdown_frame{ 0 };
bool m_fading_out{ false };
bool m_paused { false };
int m_countdown_frame { 0 };
bool m_fading_out { false };
// total time left when fading beggins
float m_fading_time{ 0.0f };
float m_current_fade_opacity{ 1.f };
float m_fading_time { 0.0f };
float m_current_fade_opacity { 1.f };
// If hidden the notif is alive but not visible to user
bool m_hidden { false };
// m_finished = true - does not render, marked to delete