diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2019-11-02 12:28:08 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2019-11-02 12:28:37 +0300 |
commit | 782f36d6a87eb622f6052be8ce49c380a6c78e84 (patch) | |
tree | 739231fb09098f0b1138951bb492b679181fa4ff /source/blender/makesdna/DNA_gpencil_types.h | |
parent | 018b754fb6c7ac485e1f3d8b66f0ddeee3772989 (diff) |
Fix T71260: GPencil crash when drawing very long lines
There were two problems:
1) When the buffer was reallocate, the pointer was corrupted.
2) Short variables were too small to hold long lines.
Diffstat (limited to 'source/blender/makesdna/DNA_gpencil_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_gpencil_types.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index 1435d0a64b4..33dfe66a151 100644 --- a/source/blender/makesdna/DNA_gpencil_types.h +++ b/source/blender/makesdna/DNA_gpencil_types.h @@ -447,17 +447,16 @@ typedef struct bGPdata_Runtime { * - buffer must be initialized before use, but freed after * whole paint operation is over */ - /** Number of elements currently used in cache. */ - short sbuffer_used; /** Flags for stroke that cache represents. */ short sbuffer_sflag; + /** Number of elements currently used in cache. */ + int sbuffer_used; /** Number of total elements available in cache. */ - short sbuffer_size; - char _pad[4]; + int sbuffer_size; /** Number of control-points for stroke. */ int tot_cp_points; - char _pad1_[4]; + char _pad_[4]; /** Array of control-points for stroke. */ bGPDcontrolpoint *cp_points; } bGPdata_Runtime; |