Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2021-01-29 17:55:41 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-01-29 18:06:11 +0300
commitc7d75a66163635ec7629eda2d4aa39b9e197ef6a (patch)
tree0adf3a02e1d6d8762f8e62f81eccca7d4044c32f /source/blender/blenkernel
parentbc94036a76b63254181788ce5814fb946f52a287 (diff)
parentb3fc88554468eb91fac3c2afb9387e599e6db507 (diff)
Merge branch 'blender-v2.92-release'
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_scene.h3
-rw-r--r--source/blender/blenkernel/BKE_screen.h1
-rw-r--r--source/blender/blenkernel/intern/scene.c11
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)