diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-10-01 17:34:51 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-10-01 17:34:51 +0300 |
commit | 864a53e276967359714723d6c3b700ae4dfb7f8c (patch) | |
tree | 61f02d5ffeb9bf0dc83d422a2a81979b412a6446 /source/blender/windowmanager/intern/wm_gesture.c | |
parent | 9a6aba2a94dbaee818630c26232274dc2962c828 (diff) |
Fix gradient tool crash with recent changes
Having gesture automatic free memory isn't practical if this
has it's own allocations.
Add option not to free userdata.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_gesture.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_gesture.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_gesture.c b/source/blender/windowmanager/intern/wm_gesture.c index e04571fe572..cc48b162352 100644 --- a/source/blender/windowmanager/intern/wm_gesture.c +++ b/source/blender/windowmanager/intern/wm_gesture.c @@ -71,6 +71,7 @@ wmGesture *WM_gesture_new(bContext *C, const wmEvent *event, int type) gesture->type = type; gesture->event_type = event->type; gesture->swinid = ar->swinid; /* means only in area-region context! */ + gesture->userdata_free = true; /* Free if userdata is set. */ wm_subwindow_origin_get(window, gesture->swinid, &sx, &sy); @@ -114,7 +115,7 @@ void WM_gesture_end(bContext *C, wmGesture *gesture) win->tweak = NULL; BLI_remlink(&win->gesture, gesture); MEM_freeN(gesture->customdata); - if (gesture->userdata) { + if (gesture->userdata && gesture->userdata_free) { MEM_freeN(gesture->userdata); } MEM_freeN(gesture); |