From f43b34fb578cb91c72f96c6a72910f8255ddf87c Mon Sep 17 00:00:00 2001 From: David Kocik Date: Thu, 7 Jan 2021 12:54:53 +0100 Subject: [PATCH] wxWakeUpIdle when render timer ends to ensure idle function spawns and triggers rendering --- src/slic3r/GUI/GLCanvas3D.cpp | 1 + src/slic3r/GUI/NotificationManager.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 71517880a..03d6b94ce 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2996,6 +2996,7 @@ void GLCanvas3D::on_render_timer(wxTimerEvent& evt) } //render(); m_dirty = true; + wxWakeUpIdle(); } void GLCanvas3D::request_extra_frame_delayed(int miliseconds) diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index 410990ef7..5695eb62f 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -1444,7 +1444,7 @@ void NotificationManager::update_notifications() } if (next_render == 0) - wxGetApp().plater()->get_current_canvas3D()->request_extra_frame(); + wxGetApp().plater()->get_current_canvas3D()->request_extra_framee_delayed(33); //few milliseconds to get from GLCanvas::render else if (next_render < max) wxGetApp().plater()->get_current_canvas3D()->request_extra_frame_delayed(int(next_render));