Merge branch 'master' into blender2.8
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 27 Nov 2017 15:23:32 +0000 (16:23 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 27 Nov 2017 15:23:32 +0000 (16:23 +0100)
source/blender/editors/include/ED_mesh.h
source/blender/editors/mesh/editmesh_loopcut.c
source/blender/editors/mesh/editmesh_utils.c
source/blender/makesdna/DNA_ID.h

index 1c8cf0665b35f0c27e061f76bc3b843eccd9e687..1fd7756df7714d4f6457547827353a320490016a 100644 (file)
@@ -76,7 +76,6 @@ struct BMFace *EDBM_verts_mirror_get_face(struct BMEditMesh *em, struct BMFace *
 void           EDBM_verts_mirror_cache_clear(struct BMEditMesh *em, struct BMVert *v);
 void           EDBM_verts_mirror_cache_end(struct BMEditMesh *em);
 
-void EDBM_mesh_ensure_valid_dm_hack(struct Scene *scene, struct BMEditMesh *em);
 void EDBM_mesh_normals_update(struct BMEditMesh *em);
 void EDBM_mesh_clear(struct BMEditMesh *em);
 
index 876d63ef64ad924d6c4e7e5c7a0e060816d200de..3ab56f2ebcbcc25c6f9ce9ca27e1f2ae5fcfd881 100644 (file)
@@ -534,9 +534,6 @@ static int ringsel_init(bContext *C, wmOperator *op, bool do_cut)
        lcd->num.unit_type[0] = B_UNIT_NONE;
        lcd->num.unit_type[1] = B_UNIT_NONE;
 
-       /* XXX, temp, workaround for [# ] */
-       EDBM_mesh_ensure_valid_dm_hack(scene, lcd->em);
-
        em_setup_viewcontext(C, &lcd->vc);
 
        ED_region_tag_redraw(lcd->ar);
index 230f46abad19d17daf68db908aab701479e03e36..27fe93b049ade1371d20d6ed4b15ff6bff8436e5 100644 (file)
@@ -53,7 +53,7 @@
 
 #include "DEG_depsgraph.h"
 
-#include "BKE_object.h"  /* XXX. only for EDBM_mesh_ensure_valid_dm_hack() which will be removed */
+#include "BKE_object.h"  /* XXX. only for EDBM_mesh_load(). */
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -108,21 +108,6 @@ void EDBM_redo_state_free(BMBackup *backup, BMEditMesh *em, int recalctess)
                BKE_editmesh_tessface_calc(em);
 }
 
-/* hack to workaround multiple operators being called within the same event loop without an update
- * see: [#31811] */
-void EDBM_mesh_ensure_valid_dm_hack(Scene *scene, BMEditMesh *em)
-{
-       if ((((ID *)em->ob->data)->tag & LIB_TAG_ID_RECALC) ||
-           (em->ob->recalc & OB_RECALC_DATA))
-       {
-               /* since we may not have done selection flushing */
-               if ((em->ob->recalc & OB_RECALC_DATA) == 0) {
-                       DEG_id_tag_update(&em->ob->id, OB_RECALC_DATA);
-               }
-               BKE_object_handle_update(G.main->eval_ctx, scene, em->ob);
-       }
-}
-
 void EDBM_mesh_normals_update(BMEditMesh *em)
 {
        BM_mesh_normals_update(em->bm);
@@ -413,6 +398,7 @@ void EDBM_mesh_load(Object *ob)
         * of freed data on scene update, especially in cases when there are dependency
         * cycles.
         */
+       /*
        for (Object *other_object = G.main->object.first;
             other_object != NULL;
             other_object = other_object->id.next)
@@ -421,6 +407,7 @@ void EDBM_mesh_load(Object *ob)
                        BKE_object_free_derived_caches(other_object);
                }
        }
+       */
 }
 
 /**
index 030b0808b54978375624868c81664e616a89212d..30d56a3d91d2f2bbb4631ed101d4647015699fab 100644 (file)
@@ -353,7 +353,7 @@ enum {
         * Also used internally in readfile.c to mark datablocks needing do_versions. */
        LIB_TAG_NEW             = 1 << 8,
        /* RESET_BEFORE_USE free test flag.
-     * TODO make it a RESET_AFTER_USE too. */
+        * TODO make it a RESET_AFTER_USE too. */
        LIB_TAG_DOIT            = 1 << 10,
        /* RESET_AFTER_USE tag existing data before linking so we know what is new. */
        LIB_TAG_PRE_EXISTING    = 1 << 11,