From 65f674b570fc5eb1b5011bf8ae5cc3e031026665 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Thu, 9 Apr 2020 13:24:42 +0200 Subject: Fix T75535: Compositor backdrop gizmo dragging interrupts with node mouse over Caused by rB5929dd7129f6. Above commit would reset the gizmo highlight on node mouseover. This would also assert in gizmo_rect_pivot_from_scale_part() and stop the drag. So now, only reset the gizmo when we are not in EVT_GIZMO_UPDATE, allowing for starting the tweak outside a node and then travelling 'inside' while still preventing to use it over a node when starting a tweak there. Maniphest Tasks: T75535 Differential Revision: https://developer.blender.org/D7383 --- source/blender/windowmanager/intern/wm_event_system.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source/blender/windowmanager') diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 15b6fe53417..8b8c1b90dc9 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2519,10 +2519,11 @@ static int wm_handlers_do_gizmo_handler(bContext *C, wmGizmo *gz = wm_gizmomap_highlight_get(gzmap); /* Needed so UI blocks over gizmos don't let events fall through to the gizmos, - * noticeable for the node editor - where dragging on a node should move it, see: T73212. */ + * noticeable for the node editor - where dragging on a node should move it, see: T73212. + * note we still allow for starting the gizmo drag outside, then travel 'inside' the node */ if (region->type->clip_gizmo_events_by_ui) { if (UI_region_block_find_mouse_over(region, &event->x, true)) { - if (gz != NULL) { + if (gz != NULL && event->type != EVT_GIZMO_UPDATE) { WM_tooltip_clear(C, CTX_wm_window(C)); wm_gizmomap_highlight_set(gzmap, C, NULL, 0); } -- cgit v1.2.3