Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-12-03 12:31:16 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-12-03 12:31:16 +0400
commit94f85c3c72ec0c117808b6cf87b554ae9b1e772a (patch)
tree0b28c53d8b490eb611c94823e9f8130ee6c2672c /source/blender/editors/render
parent0526fcf13f6a05aa1a5b32549f566e8c15c47d5e (diff)
Fix #33371: blender freezing in material draw mode.
When FBO failed in a particular way it could cause the opengl draw buffer to be set wrong, effectively disabling all opengl drawing. The FBO error was caused by cycles GLSL materials with no nodes that would still use blender internal materials, which caused issues with lamp shadow buffers FBO. This also fixes a GLSL refresh issue when switching render engines.
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r--source/blender/editors/render/render_update.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c
index e9fbb3a0885..1ed1cbb2c6b 100644
--- a/source/blender/editors/render/render_update.c
+++ b/source/blender/editors/render/render_update.c
@@ -156,12 +156,16 @@ void ED_render_engine_changed(Main *bmain)
/* on changing the render engine type, clear all running render engines */
bScreen *sc;
ScrArea *sa;
+ Scene *scene;
for (sc = bmain->screen.first; sc; sc = sc->id.next)
for (sa = sc->areabase.first; sa; sa = sa->next)
ED_render_engine_area_exit(sa);
RE_FreePersistentData();
+
+ for (scene = bmain->scene.first; scene; scene = scene->id.next)
+ ED_render_id_flush_update(bmain, &scene->id);
}
/***************************** Updates ***********************************