this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix for segfault when freeing alias context target.

+9 -6
+2 -2
.travis.yml
··· 23 23 after_success: 24 24 - tar -zcvf SDL_gpu-bin-linux-gcc.tar.gz lib 25 25 - tar -zcvf SDL_gpu-docs.tar.gz html 26 - - cd .. 26 + # - cd .. 27 27 # - git tag -d latest-linux-gcc; 28 28 # - git push origin :latest-linux-gcc 29 - - cd build 29 + # - cd build 30 30 deploy: 31 31 provider: pages 32 32 skip_cleanup: true
+7 -4
src/renderer_GL_common.inl
··· 3712 3712 return; 3713 3713 } 3714 3714 3715 - if(target->context != NULL && target->context->failed) 3715 + if(!target->is_alias && target->context != NULL && target->context->failed) 3716 3716 { 3717 3717 GPU_CONTEXT_DATA* cdata = (GPU_CONTEXT_DATA*)target->context->data; 3718 3718 ··· 3747 3747 renderer->impl->FlushBlitBuffer(renderer); 3748 3748 renderer->current_context_target = NULL; 3749 3749 } 3750 - else 3750 + else if(target->context_target != NULL) 3751 3751 GPU_MakeCurrent(target->context_target, target->context_target->context->windowID); 3752 3752 3753 - if(!target->is_alias && target->image != NULL) 3753 + if(target->image != NULL && target->image->target == target) 3754 3754 target->image->target = NULL; // Remove reference to this object 3755 3755 3756 3756 ··· 3765 3765 3766 3766 if(renderer->enabled_features & GPU_FEATURE_RENDER_TARGETS) 3767 3767 { 3768 + int default_framebuffer_handle = 0; 3768 3769 if(renderer->current_context_target != NULL) 3769 3770 flushAndClearBlitBufferIfCurrentFramebuffer(renderer, target); 3770 - if(data->handle != 0) 3771 + 3772 + glGetIntegerv(GL_FRAMEBUFFER_BINDING, &default_framebuffer_handle); 3773 + if(data->handle != default_framebuffer_handle) 3771 3774 glDeleteFramebuffers(1, &data->handle); 3772 3775 } 3773 3776