Maniphest T71727

Keying 'How to sync Playback' does not work
Closed, Duplicate

Assigned To
None
Authored By
Christopher_Anderssarian
Nov 21 2019, 1:57 PM
Tags
  • BF Blender
  • Animation & Rigging
  • User Interface
Subscribers
Christopher_Anderssarian
Germano Cavalcante (mano-wii)
Julian Eisel (Severin)
Sybren A. Stüvel (sybren)
William Reynish (billreynish)

Description

System Information
Operating system: Windows 7
GPU: Radeon Vega 64, Divider version: 19.4.1
CPU: Intel Core i7-5960X

Blender Version

Broken: blender-2.80-f6cb5f54494e-windows64 (official release)
Broken: blender-2.81-115a5bf65a6b-windows64 (build bot)
Broken: blender-2.82-ba1e9ae4733a-windows64 (build bot)
Working: blender-2.79b-f4dc9f9d68b-windows64 (official release)

Short description of error

Since the drop-down menu for How to sync Playback got moved
into the Playback drop-down menu, its ability to be keyed got broken.

2.80 and onwards opens these keyed properties correctly
(from 2.97b and earlier), but does not allow any control over the
keyframe(s) from the context menu or keyboard shortcuts.

Exact steps for others to reproduce the error from scratch

  • Open a broken version
  • In the timeline editor --> Playback drop-down menu
  • Over the How to sync Playback try inserting a keyframe (right-clicking or pressing I)

Event Timeline

Christopher_Anderssarian triaged this task as 90 priority.Nov 21 2019, 1:57 PM
Christopher_Anderssarian created this task.
Christopher_Anderssarian merged a task: T71728: Keying 'How to sync Playback' does not work.
Germano Cavalcante (mano-wii) lowered the priority of this task from 90 to 50.Nov 22 2019, 4:10 PM
Germano Cavalcante (mano-wii) added a project: User Interface.
Germano Cavalcante (mano-wii) added a subscriber: Germano Cavalcante (mano-wii).

I can confirm, in blender 2.79 it used to work:

Apparently properties inside popovers can't be animated.

Christopher_Anderssarian added a comment.EditedNov 22 2019, 4:21 PM

Yeah, there's a couple more irregularities, in the playback popover: Mute Audio & Audio Scrubbing.
Context menu keying options are available (in 2.8x & 2.7x), but do not work in 2.8x or 2.7x.

Dalai Felinto (dfelinto) added a project: Tracker Curfew.Dec 23 2019, 1:43 PM
Sybren A. Stüvel (sybren) added a subscriber: Sybren A. Stüvel (sybren).EditedDec 24 2019, 2:35 PM

Keying this property via Python (bpy.context.scene.keyframe_insert('sync_mode')) works fine, so it seems to be a UI issue. ui_context_button_active(…) returns NULL when called from this stack:

ui_context_button_active(ARegion * ar, _Bool (*)(uiBut *) but_check_cb) (…blender/source/blender/editors/interface/interface_handlers.c:8201)
ui_context_rna_button_active(const bContext * C) (…blender/source/blender/editors/interface/interface_handlers.c:8214)
UI_context_active_but_prop_get(const bContext * C, struct PointerRNA * r_ptr, struct PropertyRNA ** r_prop, int * r_index) (…blender/source/blender/editors/interface/interface_handlers.c:8243)
insert_key_button_exec(bContext * C, wmOperator * op) (…blender/source/blender/editors/animation/keyframing.c:2367)
wm_operator_invoke(bContext * C, wmOperatorType * ot, wmEvent * event, PointerRNA * properties, ReportList * reports, const _Bool poll_only, _Bool use_last_properties) (…blender/source/blender/windowmanager/intern/wm_event_system.c:1453)
wm_operator_call_internal(bContext * C, wmOperatorType * ot, PointerRNA * properties, ReportList * reports, const short context, const _Bool poll_only, wmEvent * event) (…blender/source/blender/windowmanager/intern/wm_event_system.c:1688)
WM_operator_name_call_ptr(bContext * C, wmOperatorType * ot, short context, PointerRNA * properties) (…blender/source/blender/windowmanager/intern/wm_event_system.c:1702)
ui_apply_but_funcs_after(bContext * C) (…blender/source/blender/editors/interface/interface_handlers.c:877)
ui_popup_handler(bContext * C, const wmEvent * event, void * userdata) (…blender/source/blender/editors/interface/interface_handlers.c:10745)
wm_handler_ui_call(bContext * C, wmEventHandler_UI * handler, const wmEvent * event, int always_pass) (…blender/source/blender/windowmanager/intern/wm_event_system.c:624)
wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) (…blender/source/blender/windowmanager/intern/wm_event_system.c:2756)
wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) (…blender/source/blender/windowmanager/intern/wm_event_system.c:3008)
wm_event_do_handlers(bContext * C) (…blender/source/blender/windowmanager/intern/wm_event_system.c:3387)
WM_main(bContext * C) (…blender/source/blender/windowmanager/intern/wm.c:417)
main(int argc, const char ** argv) (…blender/source/creator/creator.c:518)

As a result, the insert_key_button_exec function doesn't know which property is supposed to be keyed, and it cancels the operator.

As this seems to be a UI issue, I'll leave the decision whether this is a bug or a known issue to the UI module team.

Sybren A. Stüvel (sybren) removed a project: Tracker Curfew.Jan 2 2020, 1:43 PM
Sybren A. Stüvel (sybren) added subscribers: William Reynish (billreynish), Julian Eisel (Severin).Jan 23 2020, 11:51 AM

@William Reynish (billreynish) @Julian Eisel (Severin) can you shed some light on this?

Julian Eisel (Severin) added a comment.Jan 23 2020, 11:54 AM

I'm quite sure this is the same issue as T71472. Will merge the report, we can reopen if my guess turns out to be wrong.