Blender Git Commit Log
Git Commits -> Revision 3721b85
Revision 3721b85 by Joshua Leung (greasepencil-experimental, greasepencil-object, greasepencil-refactor, soc-2019-npr, temp-gpencil-eval, temp-greasepencil-object-stacksplit, temp-greasepencil-vfx) June 12, 2018, 11:39 (GMT) |
GP Branch: Update gpl->actframe in depsgraph callbacks (fixes COW-related issues) This commit fixes various problems across the codebase caused by the fact that the gpl->actframe pointers no longer get updated on redraw, meaning that various editing tools were not working. Applying a similar solution to 59a516913e599ce29754d361246a0d8cb92bd314 here: On the exit node for GP data evaluation, we flush the changed actframe pointers back to main database, so that the main db is consistent with the displayed time. Notes: - For now, we just reuse the BKE_gpencil_eval_geometry() callback, since it's the only one there and nothing else was happening there. In future, when we do convert the GP modifier stack evaluation away from its drawing-engine based approach, we should split this out into its own function. - We also do the actframe update in the COW domain here. While it's not strictly needed for anything right now, this is something that should really have been happening, so let's do it the proper way now. - The alternative approach would've been to modify all GP related context functions to set this whenever they were called. But that carries performance penalties, and isn't such a nice solution, as context getters should really not have side-effects. |
Commit Details:
Full Hash: 3721b857c697e3b9bc369f3b3afa0a6894e0584b
Parent Commit: d69ac37
Lines Changed: +30, -6