From facd4240fd7d217ed6b94616516e517f450c60dc Mon Sep 17 00:00:00 2001 From: doc-code Date: Sat, 14 Sep 2024 00:02:12 +0200 Subject: [PATCH] Fix handler frame for only new scene change --- addon/__init__.py | 16 +++++++++++++--- releases/1.x.x/scene_workspaces-1.1.0.zip | Bin 8694 -> 8786 bytes 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/addon/__init__.py b/addon/__init__.py index 8d21cbf..dddccb6 100644 --- a/addon/__init__.py +++ b/addon/__init__.py @@ -51,11 +51,21 @@ 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() og_header = None; @@ -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() diff --git a/releases/1.x.x/scene_workspaces-1.1.0.zip b/releases/1.x.x/scene_workspaces-1.1.0.zip index f1839387278fcf22421ff580a18f33e0c06a25a2..c11642de9707b2a027636e35713e5b5aaa3bd419 100644 GIT binary patch delta 1255 zcmVi3m*!BxToF?7#1jk}TPA+hF}*NOL(nb2uF80v0io44##KH3f~Cfe&ye zm`s?4VUm29%HRU-Rk7DR%PsWp2XOWA>Jz|7Q;FfRf;%Pzmps70WzG#0T4kDU03TD$ z7#Nk>9e>sA8uqG$m`czr;l^sdE-eFYfy(4kY1pWQr+b7!Q|TGloPlL}V?d?;<;!FR zUy!h-0%qk}@EE>wtiUj!xU#dDoF%Y!FfL)_7%XZAFj9z1EmtxG#?h}~%e29F__JA} z#tT7d#OPD&Xlqb~OB*29JqT*s%;;R3?x^RbVkW;$e9^E(EL@l!m3H2oV8e z;d#7#oUWEIoV>vEa6TVSmM=FLYjcHOwq+F(-xPu)FqVXyVE4!z0iGV__m7w{yc>TV zFJF*8jK<5!!(suW=^TbI8_t*G`_NeY`S=e02a)VVwnF6X;Z&Bs9(Y?<-+)q zUw?2j4H6Rx#wkc;LomqiuiVhkpt> zOKO&OMV;Y0!@AuX!CDY5Qw6v1PXPGq@uYVRy;Cy1u<|;wod0wRHhxPpRNse;xNxT) zTM8$duBSqmuwMfwPxa6stgB&)2>nkXT!rv)P2o!u z8%RuJnbLbq{MM^ISi&AVd*hx~27h^uC9+KsvG=`BGq`<7+%0!MeR^6=a7vu8BpWJu z%8U;>wP9OqL@)R^2x5VU0eRiRH=q8dvpd$R8$vj;RV~}GR1MuR)IEM=@txhV9NM^J zJ2_3K9)F5D#?u4RxVoL!HJ)kI#{2WmZ$sKnt!(Fx*7qPld21Auc%mc={(tU_u7sta zWaaPs|G~9K%Y<6vlx?%U^$5&O##mu%{IHR?MNU*7$Nj`TjIe$U>VEB5><`XSNpWT$ zQ@McQR&hKj?yh1`2)bX>_|;uXJ{V%0%^8EflA=B^wQ2B+Qjp^L0^pC^PHap3y|w?Q z{x=!~DkC|g?h~cjpqs#Jp?_KCl+pd;9XUjMV>j1vvipLW=u9iz_;7dm#_l7cK6NcE zmt0zRA2;g~AJdO35#NA6bq=Y&)!ZyC@RawD&24)37LEMQk!qVrp>QIg+hsQ`@RK~D zXmT1~HH(iwy;z;TPRvrC%6X7NGxzbul76kp;G8IJ{##kj%68b8cP-0TO{xE@UY-4J z_1gH3dZ!;D{mL9*I}_p>oDjIZg&x5<&Ltte>pHEGHuw*-5Fn!g4s*XPS%^GB@~#8` R00az^!67dOY#;yt008F*VSoSt delta 1162 zcmV;51a+ujje*2A zd_fQt1wl)cM3g24lCohe_TP6%UG2EtV*L<^b2&V7I2`5!tYRh^yej>}6f|ZAKEl0V zGGQ9VN%Csaes4FU@jpFU65 zZ%7{|)Aj6ewSvif31e7{m+R@n=6Sq?#b&vfuO1_S6?3E*=Kn(4)E^G&moQ7YFuvqB zJbz4s#6$u)-7`GYnDIT*q7Y-h{P&3=1{F$XzCeua6hvOr6r{2t807b7Zf#+1uC5M; zLzKxfQaZa56^Oa|5(OxT(iXPGF-W!AxsQkzMU-P>2|OjJ0}6Ly#xiNExX2u$w3Klh zV3=UBB~*wI4$YMyJ0{Bz`^)f55-eHUxPP=J#EN%n&-#{}8iM^rJ9t&J;Hy_MUy~L# ztPOZ~e!RCj)RmGO- zhWC2DxF0Xc)0&h8DoD`Pg%(sY(W`LLpjA6|g_$nL>Dfzp!D=~*E3;m7SbN$EdVgDL zmi9$m;F@9GZjWFq2$!jXJNP>Q{0(?AxPiernL${2omkF)J_Q@Ur5UR4Lnd6fTaPV; z6HV7sp-ben%hB|un$is< zrm;-vBPMja7Rrn29d% zzV+emrHI{&SGPz<$t9Q8Js!=z#K#QdQPB8Lz+ZYDGI#pa#6PS zV18S^>Pr1z_3G^3R_|i``HMNM%mKDCA?|t;0(W;XAUJfmBxG