void CamWnd::draw() { m_drawing = true; gtkutil::GLWidgetSentry sentry(m_gl_widget); if (GlobalMap().isValid() && ScreenUpdates_Enabled()) { Cam_Draw(); m_XORRectangle.set(rectangle_t()); } m_drawing = false; }
void ScreenUpdates_Enable (void) { ASSERT_MESSAGE(!ScreenUpdates_Enabled(), "screen updates already enabled"); g_wait_stack.pop_back(); if (g_wait_stack.empty()) { map::AutoSaver().startTimer(); gtk_grab_remove(GTK_WIDGET(g_wait.m_window)); destroy_floating_window(g_wait.m_window); g_wait.m_window = 0; } else if (GTK_WIDGET_VISIBLE(g_wait.m_window)) { gtk_label_set_text(g_wait.m_label, g_wait_stack.back().c_str()); ScreenUpdates_process(); } }