fix [#31136] Save All Edited only works for Saved external image, not New or Packed image (bpy.ops.image.save_dirty)

This commit is contained in:
Campbell Barton 2012-05-04 17:39:37 +00:00
parent ad93736bd4
commit e96187250e

@ -118,16 +118,24 @@ class SaveDirty(Operator):
unique_paths = set()
for image in bpy.data.images:
if image.is_dirty:
filepath = bpy.path.abspath(image.filepath)
if "\\" not in filepath and "/" not in filepath:
self.report({'WARNING'}, "Invalid path: " + filepath)
elif filepath in unique_paths:
self.report({'WARNING'},
"Path used by more then one image: %r" %
filepath)
if image.packed_file:
if image.library:
self.report({'WARNING'},
"Packed library image: %r from library %r can't be re-packed" %
(image.name, image.library.filepath))
else:
image.pack(as_png=True)
else:
unique_paths.add(filepath)
image.save()
filepath = bpy.path.abspath(image.filepath, library=image.library)
if "\\" not in filepath and "/" not in filepath:
self.report({'WARNING'}, "Invalid path: " + filepath)
elif filepath in unique_paths:
self.report({'WARNING'},
"Path used by more then one image: %r" %
filepath)
else:
unique_paths.add(filepath)
image.save()
return {'FINISHED'}