b9dbf2959d37a33eac4e4ddceb21e23ba9e41038
Blender crashes when opening files that invokes the interactive compositor on file load with a BadAccess X_GLXMakeCurrent error. This is caused by the same system GPU context being active in two threads at the same time, which happens when the GPU context for the compositor is created in the main thread, it is made current during creation, but it is not reset to the main GPU context of the drawable because it is null. So when the GPU compositor actually executes, it makes the GPU context current again but in its own thread, causing a BadAccess error in X11 and potentially other window systems. So the root cause is that the drawable is nullptr, and an attempt to fix this was committed in0a70360eb6but was reverted in98722773dabecause it caused serious issue that were not obvious. This patch attempts another fix by simply releasing the system GPU context created when calling the RE_system_gpu_context_ensure. This is more robust anyways because callers do not expect the context to be bound form an API point of view. Pull Request: https://projects.blender.org/blender/blender/pulls/129793
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
