WM: ensure is_repeat isn't copied from the last event
This means if a keymap item is set to ignore repeat events, it may do so accidentally from this setting being copied.
This commit is contained in:
parent
b4017ccb64
commit
d782bad62d
Notes:
blender-bot
2023-02-14 11:28:39 +01:00
Referenced by commit 88660d67a4
, WM: ensure is_repeat isn't set for mouse-move events
|
@ -6757,6 +6757,7 @@ void UI_but_focus_on_enter_event(wmWindow *win, uiBut *but)
|
|||
|
||||
event.type = EVT_BUT_OPEN;
|
||||
event.val = KM_PRESS;
|
||||
event.is_repeat = false;
|
||||
event.customdata = but;
|
||||
event.customdatafree = false;
|
||||
|
||||
|
|
|
@ -8546,6 +8546,7 @@ void ui_but_activate_event(bContext *C, ARegion *region, uiBut *but)
|
|||
wm_event_init_from_window(win, &event);
|
||||
event.type = EVT_BUT_OPEN;
|
||||
event.val = KM_PRESS;
|
||||
event.is_repeat = false;
|
||||
event.customdata = but;
|
||||
event.customdatafree = false;
|
||||
|
||||
|
|
|
@ -976,6 +976,7 @@ static void actionzone_apply(bContext *C, wmOperator *op, int type)
|
|||
}
|
||||
|
||||
event.val = KM_NOTHING;
|
||||
event.is_repeat = false;
|
||||
event.customdata = op->customdata;
|
||||
event.customdatafree = true;
|
||||
op->customdata = NULL;
|
||||
|
|
|
@ -663,6 +663,7 @@ void wm_event_handler_ui_cancel_ex(bContext *C,
|
|||
wm_event_init_from_window(win, &event);
|
||||
event.type = EVT_BUT_CANCEL;
|
||||
event.val = reactivate_button ? 0 : 1;
|
||||
event.is_repeat = false;
|
||||
handler->handle_fn(C, &event, handler->user_data);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -519,6 +519,7 @@ static void gesture_tweak_modal(bContext *C, const wmEvent *event)
|
|||
tevent.type = EVT_TWEAK_M;
|
||||
}
|
||||
tevent.val = val;
|
||||
tevent.is_repeat = false;
|
||||
/* mouse coords! */
|
||||
|
||||
/* important we add immediately after this event, so future mouse releases
|
||||
|
|
|
@ -1301,6 +1301,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
|
|||
event.type = MOUSEMOVE;
|
||||
event.prevx = event.x;
|
||||
event.prevy = event.y;
|
||||
event.is_repeat = false;
|
||||
|
||||
wm_event_add(win, &event);
|
||||
|
||||
|
@ -1432,6 +1433,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
|
|||
event.type = MOUSEMOVE;
|
||||
event.prevx = event.x;
|
||||
event.prevy = event.y;
|
||||
event.is_repeat = false;
|
||||
|
||||
/* No context change! C->wm->windrawable is drawable, or for area queues. */
|
||||
wm->winactive = win;
|
||||
|
@ -1568,6 +1570,7 @@ static int wm_window_timer(const bContext *C)
|
|||
event.type = wt->event_type;
|
||||
event.val = KM_NOTHING;
|
||||
event.keymodifier = 0;
|
||||
event.is_repeat = false;
|
||||
event.custom = EVT_DATA_TIMER;
|
||||
event.customdata = wt;
|
||||
wm_event_add(win, &event);
|
||||
|
|
Loading…
Reference in New Issue