Fix T57640: UV unwrap packing not working without sync selection.

This commit is contained in:
Brecht Van Lommel 2018-12-07 13:52:14 +01:00
parent cc61b21dff
commit 012a44cff1
Notes: blender-bot 2023-02-14 10:14:07 +01:00
Referenced by issue #57640, UVs not unwrapping to 0-1 space in blender 2.8 when unselected in the Image Editor
2 changed files with 7 additions and 6 deletions

View File

@ -127,10 +127,11 @@ void ED_uvedit_live_unwrap_end(short cancel);
void ED_uvedit_live_unwrap(struct Scene *scene, struct Object *obedit);
void ED_uvedit_pack_islands(
struct Scene *scene, struct Object *ob, struct BMesh *bm, bool selected, bool correct_aspect, bool do_rotate);
struct Scene *scene, struct Object *ob, struct BMesh *bm,
bool selected, bool correct_aspect, bool do_rotate);
void ED_uvedit_pack_islands_multi(
struct Scene *scene, struct Object **objects, const uint objects_len,
bool selected, bool correct_aspect, bool do_rotate);
bool selected, bool correct_aspect, bool do_rotate, bool implicit);
void ED_uvedit_unwrap_cube_project(
struct BMesh *bm, float cube_size, bool use_select, const float center[3]);

View File

@ -849,11 +849,11 @@ void ED_uvedit_pack_islands(Scene *scene, Object *ob, BMesh *bm, bool selected,
void ED_uvedit_pack_islands_multi(
Scene *scene, Object **objects, const uint objects_len,
bool selected, bool correct_aspect, bool do_rotate)
bool selected, bool correct_aspect, bool do_rotate, bool implicit)
{
ParamHandle *handle;
handle = construct_param_handle_multi(
scene, objects, objects_len, true, false, selected, correct_aspect);
scene, objects, objects_len, implicit, false, selected, correct_aspect);
param_pack(handle, scene->toolsettings->uvcalc_margin, do_rotate);
param_flush(handle);
param_delete(handle);
@ -878,7 +878,7 @@ static int pack_islands_exec(bContext *C, wmOperator *op)
else
RNA_float_set(op->ptr, "margin", scene->toolsettings->uvcalc_margin);
ED_uvedit_pack_islands_multi(scene, objects, objects_len, true, true, do_rotate);
ED_uvedit_pack_islands_multi(scene, objects, objects_len, true, true, do_rotate, true);
for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
Object *obedit = objects[ob_index];
@ -1516,7 +1516,7 @@ static int unwrap_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_GEOM | ND_DATA, obedit->data);
}
ED_uvedit_pack_islands_multi(scene, objects, objects_len, true, true, true);
ED_uvedit_pack_islands_multi(scene, objects, objects_len, true, true, true, implicit);
MEM_freeN(objects);