diff options
author | Tom Edwards <contact@steamreview.org> | 2014-01-15 19:37:03 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2014-01-15 19:47:53 +0400 |
commit | 1f2136b329c1c457f8f2a77c26d0fdffc635e7a2 (patch) | |
tree | 53d91bba6000bea9d9aaf683261936167ab6627b /source/blender/editors | |
parent | 8c444958fcba92135b22893ae5da53bc31e96eb6 (diff) |
Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.
Previously this only worked for some datablocks relevant to rendering, now it
can be used to detect if any type of datablock was added or removed (but not
yet to detect if it was modified, we need many more depsgraph tags for that).
Most of the changes are some function parameter changes, the important parts
are the DAG_id_type_tag calls.
Reviewed By: sergey, brecht
Differential Revision: https://developer.blender.org/D195
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/object/object_add.c | 2 | ||||
-rw-r--r-- | source/blender/editors/object/object_shapekey.c | 4 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 6 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_group.c | 4 | ||||
-rw-r--r-- | source/blender/editors/space_text/text_ops.c | 2 |
5 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index c2fbd09281c..c6dcc0b6723 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -1047,7 +1047,7 @@ void ED_base_object_free_and_unlink(Main *bmain, Scene *scene, Base *base) DAG_id_type_tag(bmain, ID_OB); BKE_scene_base_unlink(scene, base); object_delete_check_glsl_update(base->object); - BKE_libblock_free_us(&bmain->object, base->object); + BKE_libblock_free_us(bmain, base->object); if (scene->basact == base) scene->basact = NULL; MEM_freeN(base); } diff --git a/source/blender/editors/object/object_shapekey.c b/source/blender/editors/object/object_shapekey.c index 5d10d67f0c9..57cd464b7ad 100644 --- a/source/blender/editors/object/object_shapekey.c +++ b/source/blender/editors/object/object_shapekey.c @@ -103,7 +103,7 @@ static bool ED_object_shape_key_remove_all(Main *bmain, Object *ob) case ID_LT: ((Lattice *)key->from)->key = NULL; break; } - BKE_libblock_free_us(&(bmain->key), key); + BKE_libblock_free_us(bmain, key); return true; } @@ -161,7 +161,7 @@ static bool ED_object_shape_key_remove(Main *bmain, Object *ob) case ID_LT: ((Lattice *)key->from)->key = NULL; break; } - BKE_libblock_free_us(&(bmain->key), key); + BKE_libblock_free_us(bmain, key); } return true; diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index abf049ffc83..c10cb3313de 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -466,7 +466,7 @@ bScreen *ED_screen_add(wmWindow *win, Scene *scene, const char *name) bScreen *sc; ScrVert *sv1, *sv2, *sv3, *sv4; - sc = BKE_libblock_alloc(&G.main->screen, ID_SCR, name); + sc = BKE_libblock_alloc(G.main, ID_SCR, name); sc->scene = scene; sc->do_refresh = TRUE; sc->redraws_flag = TIME_ALL_3D_WIN | TIME_ALL_ANIM_WIN; @@ -1596,7 +1596,7 @@ void ED_screen_delete(bContext *C, bScreen *sc) ED_screen_set(C, newsc); if (delete && win->screen != sc) - BKE_libblock_free(&bmain->screen, sc); + BKE_libblock_free(bmain, sc); } static void ed_screen_set_3dview_camera(Scene *scene, bScreen *sc, ScrArea *sa, View3D *v3d) @@ -1834,7 +1834,7 @@ ScrArea *ED_screen_full_toggle(bContext *C, wmWindow *win, ScrArea *sa) ED_screen_set(C, sc); BKE_screen_free(oldscreen); - BKE_libblock_free(&CTX_data_main(C)->screen, oldscreen); + BKE_libblock_free(CTX_data_main(C), oldscreen); } else { diff --git a/source/blender/editors/space_node/node_group.c b/source/blender/editors/space_node/node_group.c index 62732de0ab3..1ecedf32499 100644 --- a/source/blender/editors/space_node/node_group.c +++ b/source/blender/editors/space_node/node_group.c @@ -275,12 +275,12 @@ static int node_group_ungroup(bNodeTree *ntree, bNode *gnode) /* free temp action too */ if (waction) { - BKE_libblock_free(&G.main->action, waction); + BKE_libblock_free(G.main, waction); } } /* free the group tree (takes care of user count) */ - BKE_libblock_free(&G.main->nodetree, wgroup); + BKE_libblock_free(G.main, wgroup); /* restore external links to and from the gnode */ /* note: the nodes have been copied to intermediate wgroup first (so need to use new_node), diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c index cd4c214e0d6..8ba701c8138 100644 --- a/source/blender/editors/space_text/text_ops.c +++ b/source/blender/editors/space_text/text_ops.c @@ -385,7 +385,7 @@ static int text_unlink_exec(bContext *C, wmOperator *UNUSED(op)) } BKE_text_unlink(bmain, text); - BKE_libblock_free(&bmain->text, text); + BKE_libblock_free(bmain, text); text_drawcache_tag_update(st, 1); WM_event_add_notifier(C, NC_TEXT | NA_REMOVED, NULL); |