@@ -160,10 +160,13 @@ def _copy_frames(self, src: Document, dest: Document) -> int:
160160
161161 for i in range (self .start , self .end + 1 , self .step ):
162162 src .setCurrentTime (i )
163- pixel_data = src .pixelData (0 , 0 , width , height )
164163 layer = dest .createNode (str (i ), "paintlayer" )
165- layer .setPixelData (pixel_data , 0 , 0 , width , height )
166164 root .addChildNode (layer , None )
165+
166+ # Ensure the time has been set before copying the pixel data
167+ src .waitForDone ()
168+ pixel_data = src .pixelData (0 , 0 , width , height )
169+ layer .setPixelData (pixel_data , 0 , 0 , width , height )
167170 num_frames += 1
168171
169172 return num_frames
@@ -231,8 +234,6 @@ def export(self, debug=False):
231234 texture_atlas = {"frames" : []} if self .write_texture_atlas else None
232235
233236 for layer in sheet .rootNode ().childNodes ():
234- doc .waitForDone ()
235-
236237 index = int (layer .name ())
237238 self ._position_layer (
238239 layer ,
@@ -242,6 +243,7 @@ def export(self, debug=False):
242243 )
243244
244245 if texture_atlas is not None :
246+ doc .waitForDone ()
245247 texture_atlas ["frames" ].append (
246248 {
247249 "frame" : {
0 commit comments