Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2020-04-09 14:24:42 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2020-04-14 19:32:30 +0300
commit65f674b570fc5eb1b5011bf8ae5cc3e031026665 (patch)
tree364d277c3ae9bfa0be6c476a06d1d57127ae60d1 /source/blender/windowmanager
parentdc66fa5c9cf925d889d05e05f53102ef7eacfda2 (diff)
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
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c5
1 files changed, 3 insertions, 2 deletions
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);
}