diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-08-21 17:04:22 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-08-23 10:46:01 +0300 |
commit | 6962822a4b2f2d7ac203337b904ace3430bae9f8 (patch) | |
tree | 0354c2f74b2e68dbdd25db0524aeac84fe6a7bdc | |
parent | c66b4928e382121e62a2b9a94d7df57f2d15f65f (diff) |
Fix black screen when refreshing import of a mesh
Ensure correct context when reacting to changing project files.
Relevant to at least invalidating buffer when .mesh file changes.
Change-Id: I71717c477b0b637a0f43da2f46468dcd2b3795ae
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
-rw-r--r-- | src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp b/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp index 4705a8eb..7051a91d 100644 --- a/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp +++ b/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp @@ -93,6 +93,7 @@ #include "StudioApp.h" #include "StudioUtils.h" #include "Qt3DSDMHandles.h" +#include "IStudioRenderer.h" namespace { @@ -5236,6 +5237,7 @@ public: QSet<QString> imageLoadSet; + g_StudioApp.getRenderer().MakeContextCurrent(); for (size_t fileIdx = 0, fileEnd = inList.size(); fileIdx < fileEnd; ++fileIdx) { const SFileModificationRecord &theRecord(inList[fileIdx]); @@ -5402,6 +5404,8 @@ public: if (!imageLoadSet.isEmpty()) m_Doc.GetBufferCache().reloadImageSet(imageLoadSet); + g_StudioApp.getRenderer().ReleaseContext(); + if (hasProgressFired) theDispatch.FireOnProgressEnd(); if (requestRender && m_Doc.GetSceneGraph()) |