Commit: 012a44cff11ffb12a65409ba68b4e66caded28a7
Author: Brecht Van Lommel
Date:   Fri Dec 7 13:52:14 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB012a44cff11ffb12a65409ba68b4e66caded28a7

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

===================================================================

M       source/blender/editors/include/ED_uvedit.h
M       source/blender/editors/uvedit/uvedit_unwrap_ops.c

===================================================================

diff --git a/source/blender/editors/include/ED_uvedit.h 
b/source/blender/editors/include/ED_uvedit.h
index f7d647bd89c..2fc15f72fca 100644
--- a/source/blender/editors/include/ED_uvedit.h
+++ b/source/blender/editors/include/ED_uvedit.h
@@ -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]);
 
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c 
b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index 9a7fd97bdf3..ee637d4ae5e 100644
--- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
@@ -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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to