Fix handler frame for only new scene change
This commit is contained in:
parent
397a20c721
commit
facd4240fd
@ -51,9 +51,19 @@ classes = [
|
|||||||
TOPBAR_HT_upper_bar
|
TOPBAR_HT_upper_bar
|
||||||
]
|
]
|
||||||
|
|
||||||
|
last_scene = None
|
||||||
@persistent
|
@persistent
|
||||||
def on_scene(scene):
|
def on_scene(scene):
|
||||||
|
global last_scene
|
||||||
|
last_scene = bpy.context.scene.name
|
||||||
|
if not has_data():
|
||||||
|
select_all()
|
||||||
|
@persistent
|
||||||
|
def on_frame(scene):
|
||||||
|
# Avoid simple playback or frame change (only scene change)
|
||||||
|
global last_scene
|
||||||
|
if bpy.context.scene.name != last_scene:
|
||||||
|
last_scene = bpy.context.scene.name
|
||||||
if not has_data():
|
if not has_data():
|
||||||
select_all()
|
select_all()
|
||||||
|
|
||||||
@ -65,7 +75,7 @@ def register():
|
|||||||
for c in classes:
|
for c in classes:
|
||||||
bpy.utils.register_class(c)
|
bpy.utils.register_class(c)
|
||||||
bpy.types.TOPBAR_MT_workspace_menu.prepend(workspace_menu)
|
bpy.types.TOPBAR_MT_workspace_menu.prepend(workspace_menu)
|
||||||
bpy.app.handlers.frame_change_post.append(on_scene)
|
bpy.app.handlers.frame_change_post.append(on_frame)
|
||||||
bpy.app.handlers.load_post.append(on_scene)
|
bpy.app.handlers.load_post.append(on_scene)
|
||||||
assign_shortcuts()
|
assign_shortcuts()
|
||||||
|
|
||||||
@ -74,7 +84,7 @@ def unregister():
|
|||||||
bpy.utils.unregister_class(c)
|
bpy.utils.unregister_class(c)
|
||||||
bpy.utils.register_class(og_header)
|
bpy.utils.register_class(og_header)
|
||||||
bpy.types.TOPBAR_MT_workspace_menu.remove(workspace_menu)
|
bpy.types.TOPBAR_MT_workspace_menu.remove(workspace_menu)
|
||||||
bpy.app.handlers.frame_change_post.remove(on_scene)
|
bpy.app.handlers.frame_change_post.remove(on_frame)
|
||||||
bpy.app.handlers.load_post.remove(on_scene)
|
bpy.app.handlers.load_post.remove(on_scene)
|
||||||
remove_shortcuts()
|
remove_shortcuts()
|
||||||
|
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user