Fix #94080: clicking empty space in timeline creates undo step #105913
|
@ -1706,6 +1706,11 @@ static int mouse_action_keys(bAnimContext *ac,
|
|||
actkeys_find_key_at_position(
|
||||
ac, filter, mval[0], mval[1], &ale, &selx, &frame, &found, &is_selected);
|
||||
|
||||
/* If nothing selected, return #OPERATOR_CANCELLED.*/
|
||||
if (!found && ale == NULL) {
|
||||
ret_value = OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
if (select_mode != SELECT_REPLACE) {
|
||||
wait_to_deselect_others = false;
|
||||
}
|
||||
|
@ -1726,10 +1731,6 @@ static int mouse_action_keys(bAnimContext *ac,
|
|||
/* deselect all keyframes */
|
||||
deselect_action_keys(ac, 0, SELECT_SUBTRACT);
|
||||
|
||||
/* If nothing selected, return OPERATOR_CANCELLED.*/
|
||||
if (!found && ale == NULL) {
|
||||
ret_value = OPERATOR_CANCELLED;
|
||||
}
|
||||
/* highlight channel clicked on */
|
||||
if (ELEM(ac->datatype, ANIMCONT_ACTION, ANIMCONT_DOPESHEET, ANIMCONT_TIMELINE)) {
|
||||
/* deselect all other channels first */
|
||||
|
@ -1737,7 +1738,6 @@ static int mouse_action_keys(bAnimContext *ac,
|
|||
|
||||
/* Highlight Action-Group or F-Curve? */
|
||||
if (ale != NULL && ale->data) {
|
||||
|
||||
if (ale->type == ANIMTYPE_GROUP) {
|
||||
bActionGroup *agrp = ale->data;
|
||||
|
||||
|
@ -1761,6 +1761,7 @@ static int mouse_action_keys(bAnimContext *ac,
|
|||
else if (ac->datatype == ANIMCONT_GPENCIL) {
|
||||
Melissa-Goon marked this conversation as resolved
Outdated
|
||||
/* deselect all other channels first */
|
||||
ANIM_anim_channels_select_set(ac, ACHANNEL_SETFLAG_CLEAR);
|
||||
|
||||
/* Highlight GPencil Layer */
|
||||
if (ale != NULL && ale->data != NULL && ale->type == ANIMTYPE_GPLAYER) {
|
||||
bGPdata *gpd = (bGPdata *)ale->id;
|
||||
|
|
Loading…
Reference in New Issue
This condition doesn't depend on anything inside this
else
clause, so it can be moved outside of it. I think that's also better, because afterdeselect_action_keys()
has called something may have changed, and having that undo step is important.found
andale
do not change after the call toactkeys_find_key_at_position()
, so this code can be moved directly after that.