Object Modes: Flush COW on mode switching

Caused glitch w/ sculpt mode not updating.
This commit is contained in:
Campbell Barton 2018-06-05 12:19:14 +02:00
parent 09f780c1b0
commit 24bd483ee1
3 changed files with 11 additions and 0 deletions

View File

@ -3089,6 +3089,9 @@ void object_remove_particle_system(Scene *UNUSED(scene), Object *ob)
DEG_relations_tag_update(G.main);
DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
/* Flush object mode. */
DEG_id_tag_update(&ob->id, DEG_TAG_COPY_ON_WRITE);
}
static void default_particle_settings(ParticleSettings *part)

View File

@ -1108,6 +1108,9 @@ static void ed_vwpaintmode_enter_generic(
}
vertex_paint_init_session(depsgraph, scene, ob);
/* Flush object mode. */
DEG_id_tag_update(&ob->id, DEG_TAG_COPY_ON_WRITE);
}
void ED_object_vpaintmode_enter_ex(
@ -1189,6 +1192,7 @@ static void ed_vwpaintmode_exit_generic(
ED_mesh_mirror_topo_table(NULL, NULL, 'e');
}
/* Flush object mode. */
DEG_id_tag_update(&ob->id, DEG_TAG_COPY_ON_WRITE);
}

View File

@ -5735,6 +5735,9 @@ void ED_object_sculptmode_enter_ex(
}
// ED_workspace_object_mode_sync_from_object(G.main->wm.first, workspace, ob);
/* Flush object mode. */
DEG_id_tag_update(&ob->id, DEG_TAG_COPY_ON_WRITE);
}
void ED_object_sculptmode_enter(struct bContext *C, ReportList *reports)
@ -5788,6 +5791,7 @@ void ED_object_sculptmode_exit_ex(
paint_cursor_delete_textures();
/* Flush object mode. */
DEG_id_tag_update(&ob->id, DEG_TAG_COPY_ON_WRITE);
}