[Bf-blender-cvs] [c87c12b2a4c] master: Event System: only set press values in win->eventstate

Campbell Barton noreply at git.blender.org
Fri Mar 11 13:13:27 CET 2022


Commit: c87c12b2a4c9166ebc021cbf254da3b63e779269
Author: Campbell Barton
Date:   Fri Mar 11 23:04:11 2022 +1100
Branches: master
https://developer.blender.org/rBc87c12b2a4c9166ebc021cbf254da3b63e779269

Event System: only set press values in win->eventstate

Only set press events in the windows eventstate, not the current event
since it's not useful for these to be set current events press values.
This makes it possible for a press event to access values for the
previous press.

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

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 44c9ffab92c..f407bb38d22 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -4767,14 +4767,14 @@ static void wm_event_prev_values_set(wmEvent *event, wmEvent *event_state)
   event->prev_type = event_state->prev_type = event_state->type;
 }
 
-static void wm_event_prev_click_set(wmEvent *event, wmEvent *event_state)
+static void wm_event_prev_click_set(wmEvent *event_state)
 {
-  event->prev_press_time = event_state->prev_press_time = PIL_check_seconds_timer();
-  event->prev_press_type = event_state->prev_press_type = event_state->type;
-  event->prev_press_modifier = event_state->prev_press_modifier = event_state->modifier;
-  event->prev_press_keymodifier = event_state->prev_press_keymodifier = event_state->keymodifier;
-  event->prev_press_xy[0] = event_state->prev_press_xy[0] = event_state->xy[0];
-  event->prev_press_xy[1] = event_state->prev_press_xy[1] = event_state->xy[1];
+  event_state->prev_press_time = PIL_check_seconds_timer();
+  event_state->prev_press_type = event_state->type;
+  event_state->prev_press_modifier = event_state->modifier;
+  event_state->prev_press_keymodifier = event_state->keymodifier;
+  event_state->prev_press_xy[0] = event_state->xy[0];
+  event_state->prev_press_xy[1] = event_state->xy[1];
 }
 
 static wmEvent *wm_event_add_mousemove(wmWindow *win, const wmEvent *event)
@@ -4885,7 +4885,7 @@ static void wm_event_state_update_and_click_set(const GHOST_TEventType type,
   }
   else if (event->val == KM_PRESS) {
     if ((event->flag & WM_EVENT_IS_REPEAT) == 0) {
-      wm_event_prev_click_set(event, event_state);
+      wm_event_prev_click_set(event_state);
     }
   }
 }



More information about the Bf-blender-cvs mailing list