diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2016-07-26 07:17:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-26 07:17:48 +0200 |
commit | bc6e750f957864d866bad94236212d1a87cebd2d (patch) | |
tree | 316b73e64d4ce0f324f190c56ccda29b9438e929 /scene | |
parent | 6273ec901faec2823c8f4801244d1cffbbe9b118 (diff) | |
parent | 213a57ccafdf2f4fcc472801c60332d40cfe6464 (diff) |
Merge pull request #5913 from djrm/fix_bake_segfault
Stop baking process if there is no geometry in the BakedLightInstance.
Diffstat (limited to 'scene')
-rw-r--r-- | scene/3d/baked_light_instance.cpp | 10 | ||||
-rw-r--r-- | scene/3d/baked_light_instance.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/scene/3d/baked_light_instance.cpp b/scene/3d/baked_light_instance.cpp index fafa62866f..ca3a309568 100644 --- a/scene/3d/baked_light_instance.cpp +++ b/scene/3d/baked_light_instance.cpp @@ -60,6 +60,8 @@ void BakedLightInstance::set_baked_light(const Ref<BakedLight>& p_baked_light) { // VS::get_singleton()->instance_geometry_set_baked_light(E->get()->get_instance(),baked_light.is_valid()?get_instance():RID()); // } } + + update_configuration_warning(); } Ref<BakedLight> BakedLightInstance::get_baked_light() const{ @@ -77,6 +79,14 @@ DVector<Face3> BakedLightInstance::get_faces(uint32_t p_usage_flags) const { } +String BakedLightInstance::get_configuration_warning() const { + if (get_baked_light().is_null()) { + return TTR("BakedLightInstance does not contain a BakedLight resource."); + } + return String(); +} + + void BakedLightInstance::_bind_methods() { ObjectTypeDB::bind_method(_MD("set_baked_light","baked_light"),&BakedLightInstance::set_baked_light); diff --git a/scene/3d/baked_light_instance.h b/scene/3d/baked_light_instance.h index 92c2d50986..002e55df1d 100644 --- a/scene/3d/baked_light_instance.h +++ b/scene/3d/baked_light_instance.h @@ -55,6 +55,8 @@ public: virtual AABB get_aabb() const; virtual DVector<Face3> get_faces(uint32_t p_usage_flags) const; + String get_configuration_warning() const; + BakedLightInstance(); }; |