Cleanup: deduplicate image user initialization, make consistent.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Sat, 20 Feb 2016 21:36:02 +0000 (22:36 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Thu, 18 Apr 2019 17:42:19 +0000 (19:42 +0200)
source/blender/blenkernel/BKE_image.h
source/blender/blenkernel/intern/image.c
source/blender/blenkernel/intern/texture.c
source/blender/editors/space_image/space_image.c
source/blender/nodes/shader/nodes/node_shader_tex_environment.c
source/blender/nodes/shader/nodes/node_shader_tex_image.c

index 4d3ad17..7a80679 100644 (file)
@@ -233,6 +233,7 @@ struct Image *BKE_image_add_generated(struct Main *bmain,
 struct Image *BKE_image_add_from_imbuf(struct Main *bmain, struct ImBuf *ibuf, const char *name);
 
 /* for reload, refresh, pack */
+void BKE_imageuser_default(struct ImageUser *iuser);
 void BKE_image_init_imageuser(struct Image *ima, struct ImageUser *iuser);
 void BKE_image_signal(struct Main *bmain, struct Image *ima, struct ImageUser *iuser, int signal);
 
index 75807eb..75df0fa 100644 (file)
@@ -3029,7 +3029,15 @@ static void image_tag_reload(Image *ima, ImageUser *iuser, void *customdata)
   }
 }
 
-static void image_init_imageuser(Image *ima, ImageUser *iuser)
+void BKE_imageuser_default(ImageUser *iuser)
+{
+  memset(iuser, 0, sizeof(ImageUser));
+  iuser->ok = true;
+  iuser->frames = 100;
+  iuser->sfra = 1;
+}
+
+void BKE_image_init_imageuser(Image *ima, ImageUser *iuser)
 {
   RenderResult *rr = ima->rr;
 
@@ -3040,11 +3048,6 @@ static void image_init_imageuser(Image *ima, ImageUser *iuser)
     BKE_image_multilayer_index(rr, iuser);
 }
 
-void BKE_image_init_imageuser(Image *ima, ImageUser *iuser)
-{
-  image_init_imageuser(ima, iuser);
-}
-
 void BKE_image_signal(Main *bmain, Image *ima, ImageUser *iuser, int signal)
 {
   if (ima == NULL)
@@ -3146,7 +3149,7 @@ void BKE_image_signal(Main *bmain, Image *ima, ImageUser *iuser, int signal)
         iuser->ok = 1;
         if (ima->source == IMA_SRC_FILE || ima->source == IMA_SRC_SEQUENCE) {
           if (ima->type == IMA_TYPE_MULTILAYER) {
-            image_init_imageuser(ima, iuser);
+            BKE_image_init_imageuser(ima, iuser);
           }
         }
       }
index dbbb231..d225bae 100644 (file)
@@ -254,9 +254,7 @@ void BKE_texture_default(Tex *tex)
   tex->vn_distm = 0;
   tex->vn_coltype = 0;
 
-  tex->iuser.ok = 1;
-  tex->iuser.frames = 100;
-  tex->iuser.sfra = 1;
+  BKE_imageuser_default(&tex->iuser);
 
   tex->preview = NULL;
 }
index 3160e41..f3ed84b 100644 (file)
@@ -188,8 +188,7 @@ static SpaceLink *image_new(const ScrArea *UNUSED(area), const Scene *UNUSED(sce
   simage->lock = true;
   simage->flag = SI_SHOW_GPENCIL | SI_USE_ALPHA | SI_COORDFLOATS;
 
-  simage->iuser.ok = true;
-  simage->iuser.frames = 100;
+  BKE_imageuser_default(&simage->iuser);
   simage->iuser.flag = IMA_SHOW_STEREO | IMA_ANIM_ALWAYS;
 
   scopes_new(&simage->scopes);
index 6e8516b..0105bea 100644 (file)
@@ -48,9 +48,7 @@ static void node_shader_init_tex_environment(bNodeTree *UNUSED(ntree), bNode *no
   BKE_texture_colormapping_default(&tex->base.color_mapping);
   tex->color_space = SHD_COLORSPACE_COLOR;
   tex->projection = SHD_PROJ_EQUIRECTANGULAR;
-  tex->iuser.frames = 1;
-  tex->iuser.sfra = 1;
-  tex->iuser.ok = 1;
+  BKE_imageuser_default(&tex->iuser);
 
   node->storage = tex;
 }
index 55e8e6a..37a9247 100644 (file)
@@ -58,9 +58,7 @@ static void node_shader_init_tex_image(bNodeTree *UNUSED(ntree), bNode *node)
   BKE_texture_mapping_default(&tex->base.tex_mapping, TEXMAP_TYPE_POINT);
   BKE_texture_colormapping_default(&tex->base.color_mapping);
   tex->color_space = SHD_COLORSPACE_COLOR;
-  tex->iuser.frames = 1;
-  tex->iuser.sfra = 1;
-  tex->iuser.ok = 1;
+  BKE_imageuser_default(&tex->iuser);
 
   node->storage = tex;
 }