diff --git a/Editor/main.cpp b/Editor/main.cpp index 61219ab64..1b42f3967 100644 --- a/Editor/main.cpp +++ b/Editor/main.cpp @@ -13,6 +13,7 @@ struct Application : boo::IApplicationCallback Specter::FontCache m_fontCache; boo::IWindow* m_mainWindow; Specter::ViewSystem m_viewSystem; + std::unique_ptr m_rootView; Retro::CVarManager m_cvarManager; Zeus::CColor m_clearColor; bool m_running = true; @@ -31,6 +32,7 @@ struct Application : boo::IApplicationCallback int appMain(boo::IApplication* app) { m_mainWindow = app->newWindow(_S("RUDE")); + m_mainWindow->setWaitCursor(true); m_cvarManager.serialize(); Retro::CVar* tmp = m_cvarManager.findCVar("r_clearcolor"); Retro::CVar::ListenerFunc listen = std::bind(&Application::onCVarModified, this, std::placeholders::_1); @@ -39,17 +41,18 @@ struct Application : boo::IApplicationCallback boo::IGraphicsDataFactory* gf = m_mainWindow->getMainContextDataFactory(); m_viewSystem.init(gf, &m_fontCache); - Specter::RootView rootView(m_viewSystem, m_mainWindow); + m_rootView.reset(new Specter::RootView(m_viewSystem, m_mainWindow)); m_mainWindow->showWindow(); + m_mainWindow->setWaitCursor(false); boo::IGraphicsCommandQueue* gfxQ = m_mainWindow->getCommandQueue(); while (m_running) { - if (rootView.isDestroyed()) + if (m_rootView->isDestroyed()) break; m_cvarManager.update(); m_mainWindow->waitForRetrace(); - rootView.draw(gfxQ); + m_rootView->draw(gfxQ); gfxQ->flushBufferUpdates(); gfxQ->execute(); } diff --git a/hecl b/hecl index cd6f8c4f5..ec0743d4a 160000 --- a/hecl +++ b/hecl @@ -1 +1 @@ -Subproject commit cd6f8c4f5553d7b5317dc6d71830978a788a549a +Subproject commit ec0743d4a0236f6ac305fd0b451dcb8748934a9a diff --git a/libSpecter b/libSpecter index ed2248a28..480f1d958 160000 --- a/libSpecter +++ b/libSpecter @@ -1 +1 @@ -Subproject commit ed2248a2875f9b357082d76ebef83ee4a1faf398 +Subproject commit 480f1d95860f327f28e3f64e7c2aace6416f2347