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:
Diffstat (limited to 'source/blender/gpu/opengl/gl_framebuffer.cc')
-rw-r--r--source/blender/gpu/opengl/gl_framebuffer.cc32
1 files changed, 17 insertions, 15 deletions
diff --git a/source/blender/gpu/opengl/gl_framebuffer.cc b/source/blender/gpu/opengl/gl_framebuffer.cc
index c97f4e2a270..8d48c9f8de3 100644
--- a/source/blender/gpu/opengl/gl_framebuffer.cc
+++ b/source/blender/gpu/opengl/gl_framebuffer.cc
@@ -74,21 +74,23 @@ GLFrameBuffer::GLFrameBuffer(
GLFrameBuffer::~GLFrameBuffer()
{
- if (context_ != NULL) {
- if (context_ == GPU_context_active_get()) {
- /* Context might be partially freed. This happens when destroying the window framebuffers. */
- glDeleteFramebuffers(1, &fbo_id_);
- }
- else {
- context_->fbo_free(fbo_id_);
- }
- /* Restore default framebuffer if this framebuffer was bound. */
- if (context_->active_fb == this && context_->back_left != this) {
- /* If this assert triggers it means the framebuffer is being freed while in use by another
- * context which, by the way, is TOTALLY UNSAFE!!! */
- BLI_assert(context_ == GPU_context_active_get());
- GPU_framebuffer_restore();
- }
+ if (context_ == NULL) {
+ return;
+ }
+
+ if (context_ == GPU_context_active_get()) {
+ /* Context might be partially freed. This happens when destroying the window framebuffers. */
+ glDeleteFramebuffers(1, &fbo_id_);
+ }
+ else {
+ context_->fbo_free(fbo_id_);
+ }
+ /* Restore default framebuffer if this framebuffer was bound. */
+ if (context_->active_fb == this && context_->back_left != this) {
+ /* If this assert triggers it means the framebuffer is being freed while in use by another
+ * context which, by the way, is TOTALLY UNSAFE!!! */
+ BLI_assert(context_ == GPU_context_active_get());
+ GPU_framebuffer_restore();
}
}