From 37007a7bc87adb18ff30963a226956d1d1ceb2bf Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 4 Apr 2011 03:25:05 +0000 Subject: [PATCH] disable continuous grab in the header, its more annoying then useful. also NULL texture's point density tree data when copying to prevent possible double free. --- source/blender/blenkernel/intern/texture.c | 1 + source/blender/windowmanager/intern/wm_event_system.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index e9c11c67d9b..a5412c6269e 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -798,6 +798,7 @@ Tex *localize_texture(Tex *tex) if(texn->pd) { texn->pd= MEM_dupallocN(texn->pd); if(texn->pd->coba) { + texn->pd->point_tree = NULL; texn->pd->coba= MEM_dupallocN(texn->pd->coba); } diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 09ea924c0d2..223f739ad78 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -726,6 +726,14 @@ static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, P wrap = (U.uiflag & USER_CONTINUOUS_MOUSE) && ((op->flag & OP_GRAB_POINTER) || (ot->flag & OPTYPE_GRAB_POINTER)); } + /* exception, cont. grab in header is annoying */ + if(wrap) { + ARegion *ar= CTX_wm_region(C); + if(ar && ar->regiontype == RGN_TYPE_HEADER) { + wrap= FALSE; + } + } + if(wrap) { rcti *winrect= NULL; ARegion *ar= CTX_wm_region(C);