@@ -222,7 +222,7 @@ def settingsCallback(self, sender):
222222
223223 def generateCallback (self , sender ):
224224 generateOptions = self .w .getItemValues ()
225- generateOptions ["sourceUFOPaths" ] = self .getAllUFOPaths ()
225+ generateOptions ["sourceUFOPaths" ], designspaceDocuments = self .getAllUFOPaths ()
226226 generateOptions ["sourceDesignspacePaths" ] = self .getAllDesignspacePaths ()
227227
228228 if not generateOptions ["sourceUFOPaths" ] and not generateOptions ["sourceDesignspacePaths" ]:
@@ -234,6 +234,8 @@ def result(path):
234234 root = path [0 ]
235235
236236 progress = self .startProgress ("Generating..." , parent = self .w )
237+ for designspaceDocument in designspaceDocuments :
238+ designspaceDocument .generateUFOs ()
237239 try :
238240 self .report = Report ()
239241 self .report .writeTitle ("Batch Generate:" )
@@ -264,6 +266,7 @@ def getAllUFOPaths(self, flattenDesignSpace=True):
264266 if not items :
265267 items = table .getArrangedItems ()
266268 ufoPaths = []
269+ designspaceDocuments = []
267270
268271 def extractPath (path ):
269272 ext = os .path .splitext (path )[1 ].lower ()
@@ -281,7 +284,7 @@ def extractPath(path):
281284 if "designspaceDocument" not in item :
282285 item ["designspaceDocument" ] = BatchEditorOperator (path )
283286 designspaceDocument = item ["designspaceDocument" ]
284- designspaceDocument . generateUFOs ( )
287+ designspaceDocuments . append ( designspaceDocument )
285288 for sourceDescriptor in designspaceDocument .sources :
286289 ufoPaths .append (sourceDescriptor .path )
287290 for instanceDescriptor in designspaceDocument .instances :
@@ -293,7 +296,7 @@ def extractPath(path):
293296 for item in items :
294297 extractPath (item ["source" ])
295298
296- return ufoPaths
299+ return ufoPaths , designspaceDocuments
297300
298301 def getAllDesignspacePaths (self ):
299302 table = self .w .getItem ("sources" )
0 commit comments