[Bf-blender-cvs] [f94e3ba72f8] temp-gpu-image-engine: Fix issue when image user is a nullptr.
Jeroen Bakker
noreply at git.blender.org
Fri Nov 26 16:04:12 CET 2021
Commit: f94e3ba72f8bc12c862b8cf8cc986975812f3c54
Author: Jeroen Bakker
Date: Fri Nov 26 14:47:57 2021 +0100
Branches: temp-gpu-image-engine
https://developer.blender.org/rBf94e3ba72f8bc12c862b8cf8cc986975812f3c54
Fix issue when image user is a nullptr.
===================================================================
M source/blender/blenkernel/BKE_image_partial_update.hh
===================================================================
diff --git a/source/blender/blenkernel/BKE_image_partial_update.hh b/source/blender/blenkernel/BKE_image_partial_update.hh
index dfc02fea742..6af44b2c3c9 100644
--- a/source/blender/blenkernel/BKE_image_partial_update.hh
+++ b/source/blender/blenkernel/BKE_image_partial_update.hh
@@ -137,7 +137,7 @@ class AbstractTileData {
*/
class NoTileData : AbstractTileData {
public:
- NoTileData(Image *UNUSED(image), ImageUser &UNUSED(image_user))
+ NoTileData(Image *UNUSED(image), ImageUser *UNUSED(image_user))
{
}
@@ -166,7 +166,7 @@ class ImageTileData : AbstractTileData {
* The local copy is required so we don't change the image user of the caller.
* We need to change it in order to request data for a specific tile.
*/
- ImageUser image_user;
+ ImageUser image_user = {0};
/**
* \brief ImageTile associated with the loaded tile.
@@ -181,8 +181,11 @@ class ImageTileData : AbstractTileData {
*/
ImBuf *tile_buffer = nullptr;
- ImageTileData(Image *image, ImageUser image_user) : image(image), image_user(image_user)
+ ImageTileData(Image *image, ImageUser *image_user) : image(image)
{
+ if (image_user != nullptr) {
+ this->image_user = *image_user;
+ }
}
void init_data(TileNumber new_tile_number) override
@@ -229,7 +232,7 @@ template<typename TileData = NoTileData> struct PartialUpdateChecker {
public:
CollectResult(PartialUpdateChecker<TileData> *checker, ePartialUpdateCollectResult result_code)
: checker(checker),
- tile_data(checker->image, *checker->image_user),
+ tile_data(checker->image, checker->image_user),
result_code(result_code)
{
}
More information about the Bf-blender-cvs
mailing list