[Bf-blender-cvs] [65f674b570f] master: Fix T75535: Compositor backdrop gizmo dragging interrupts with node mouse over

Philipp Oeser noreply at git.blender.org
Tue Apr 14 18:36:32 CEST 2020


Commit: 65f674b570fc5eb1b5011bf8ae5cc3e031026665
Author: Philipp Oeser
Date:   Thu Apr 9 13:24:42 2020 +0200
Branches: master
https://developer.blender.org/rB65f674b570fc5eb1b5011bf8ae5cc3e031026665

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

===================================================================

M	source/blender/windowmanager/intern/wm_event_system.c

===================================================================

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);
       }



More information about the Bf-blender-cvs mailing list