|
@@ -128,10 +128,10 @@ Graphics::Graphics()
|
|
|
|
|
|
Graphics::~Graphics()
|
|
|
{
|
|
|
- states.clear();
|
|
|
-
|
|
|
- defaultFont.set(nullptr);
|
|
|
-
|
|
|
+ // Clean up standard shaders before the active shader. If we do it after,
|
|
|
+ // the active shader may try to activate a standard shader when deactivating
|
|
|
+ // itself, which will cause problems since it calls Graphics methods in the
|
|
|
+ // Graphics destructor.
|
|
|
for (int i = 0; i < Shader::STANDARD_MAX_ENUM; i++)
|
|
|
{
|
|
|
if (Shader::standardShaders[i])
|
|
@@ -141,6 +141,10 @@ Graphics::~Graphics()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ states.clear();
|
|
|
+
|
|
|
+ defaultFont.set(nullptr);
|
|
|
+
|
|
|
delete streamBufferState.vb[0];
|
|
|
delete streamBufferState.vb[1];
|
|
|
delete streamBufferState.indexBuffer;
|