Fix T55278: Lightmap Pack > New Image broken when active object is None

thanx bblanimation (Christopher Gearhart) for spotting the issue and
providing the fix!

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D3449
This commit is contained in:
Philipp Oeser 2018-06-11 11:00:19 +02:00
parent 9e8bd3a072
commit 4d339f56fe
Notes: blender-bot 2023-02-14 06:00:47 +01:00
Referenced by issue #55278, 'Lightmap Pack > New Image' broken when active object is None
1 changed files with 16 additions and 3 deletions

View File

@ -556,12 +556,24 @@ def lightmap_uvpack(meshes,
def unwrap(operator, context, **kwargs):
is_editmode = (context.object.mode == 'EDIT')
# only unwrap active object if True
PREF_ACT_ONLY = kwargs.pop("PREF_ACT_ONLY")
# ensure object(s) are selected if necessary and active object is set
if context.object is None:
if PREF_ACT_ONLY:
operator.report({'WARNING'}, "Active object not set")
return {'CANCELLED'}
elif len(context.selected_objects) == 0:
operator.report({'WARNING'}, "No selected objects")
return {'CANCELLED'}
# switch to object mode
is_editmode = context.object and context.object.mode == 'EDIT'
if is_editmode:
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
PREF_ACT_ONLY = kwargs.pop("PREF_ACT_ONLY")
# define list of meshes
meshes = []
if PREF_ACT_ONLY:
obj = context.scene.objects.active
@ -576,6 +588,7 @@ def unwrap(operator, context, **kwargs):
lightmap_uvpack(meshes, **kwargs)
# switch back to edit mode
if is_editmode:
bpy.ops.object.mode_set(mode='EDIT', toggle=False)