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
|
||||
]
|
||||
|
||||
|
||||
last_scene = None
|
||||
@persistent
|
||||
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():
|
||||
select_all()
|
||||
|
||||
@ -65,7 +75,7 @@ def register():
|
||||
for c in classes:
|
||||
bpy.utils.register_class(c)
|
||||
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)
|
||||
assign_shortcuts()
|
||||
|
||||
@ -74,7 +84,7 @@ def unregister():
|
||||
bpy.utils.unregister_class(c)
|
||||
bpy.utils.register_class(og_header)
|
||||
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)
|
||||
remove_shortcuts()
|
||||
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user