diff options
author | Brecht Van Lommel <brecht@blender.org> | 2021-01-29 17:55:41 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2021-01-29 18:06:11 +0300 |
commit | c7d75a66163635ec7629eda2d4aa39b9e197ef6a (patch) | |
tree | 0adf3a02e1d6d8762f8e62f81eccca7d4044c32f /source/blender/blenkernel | |
parent | bc94036a76b63254181788ce5814fb946f52a287 (diff) | |
parent | b3fc88554468eb91fac3c2afb9387e599e6db507 (diff) |
Merge branch 'blender-v2.92-release'
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_scene.h | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_screen.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 11 |
3 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h index a3d40e093d9..b2726885593 100644 --- a/source/blender/blenkernel/BKE_scene.h +++ b/source/blender/blenkernel/BKE_scene.h @@ -223,7 +223,8 @@ void BKE_scene_free_depsgraph_hash(struct Scene *scene); void BKE_scene_free_view_layer_depsgraph(struct Scene *scene, struct ViewLayer *view_layer); /* Do not allocate new depsgraph. */ -struct Depsgraph *BKE_scene_get_depsgraph(struct Scene *scene, struct ViewLayer *view_layer); +struct Depsgraph *BKE_scene_get_depsgraph(const struct Scene *scene, + const struct ViewLayer *view_layer); /* Allocate new depsgraph if necessary. */ struct Depsgraph *BKE_scene_ensure_depsgraph(struct Main *bmain, struct Scene *scene, diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h index e9a141709b5..2fc0caf1a2c 100644 --- a/source/blender/blenkernel/BKE_screen.h +++ b/source/blender/blenkernel/BKE_screen.h @@ -139,6 +139,7 @@ typedef struct SpaceType { /* region types are also defined using spacetypes_init, via a callback */ typedef struct wmRegionListenerParams { + struct wmWindow *window; struct ScrArea *area; /* Can be NULL when the region is not part of an area. */ struct ARegion *region; struct wmNotifier *notifier; diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 239e2dc47a0..cb5b17caed2 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -3316,7 +3316,7 @@ int BKE_scene_multiview_num_videos_get(const RenderData *rd) /* This is a key which identifies depsgraph. */ typedef struct DepsgraphKey { - ViewLayer *view_layer; + const ViewLayer *view_layer; /* TODO(sergey): Need to include window somehow (same layer might be in a * different states in different windows). */ @@ -3451,10 +3451,13 @@ static Depsgraph **scene_ensure_depsgraph_p(Main *bmain, Scene *scene, ViewLayer return depsgraph_ptr; } -Depsgraph *BKE_scene_get_depsgraph(Scene *scene, ViewLayer *view_layer) +Depsgraph *BKE_scene_get_depsgraph(const Scene *scene, const ViewLayer *view_layer) { - Depsgraph **depsgraph_ptr = scene_get_depsgraph_p(scene, view_layer, false); - return (depsgraph_ptr != NULL) ? *depsgraph_ptr : NULL; + BLI_assert(BKE_scene_has_view_layer(scene, view_layer)); + + DepsgraphKey key; + key.view_layer = view_layer; + return BLI_ghash_lookup(scene->depsgraph_hash, &key); } Depsgraph *BKE_scene_ensure_depsgraph(Main *bmain, Scene *scene, ViewLayer *view_layer) |