[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30889] trunk/blender/source/blender: bugfix [#22859] Multi-user images cant be made into single user in texure panel.
Campbell Barton
ideasman42 at gmail.com
Fri Jul 30 08:09:23 CEST 2010
Revision: 30889
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30889
Author: campbellbarton
Date: 2010-07-30 08:09:23 +0200 (Fri, 30 Jul 2010)
Log Message:
-----------
bugfix [#22859] Multi-user images cant be made into single user in texure panel.
turns out this isnt exactly a bug since support was never written for this but may as well support it.
now rna/py can do image.copy() too.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_image.h
trunk/blender/source/blender/blenkernel/intern/deform.c
trunk/blender/source/blender/blenkernel/intern/image.c
trunk/blender/source/blender/blenkernel/intern/library.c
trunk/blender/source/blender/blenkernel/intern/node.c
trunk/blender/source/blender/makesdna/DNA_image_types.h
Modified: trunk/blender/source/blender/blenkernel/BKE_image.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_image.h 2010-07-30 05:51:32 UTC (rev 30888)
+++ trunk/blender/source/blender/blenkernel/BKE_image.h 2010-07-30 06:09:23 UTC (rev 30889)
@@ -159,7 +159,7 @@
void BKE_image_print_memlist(void);
/* empty image block, of similar type and filename */
-struct Image *BKE_image_copy(struct Image *ima);
+struct Image *copy_image(struct Image *ima);
/* merge source into dest, and free source */
void BKE_image_merge(struct Image *dest, struct Image *source);
Modified: trunk/blender/source/blender/blenkernel/intern/deform.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/deform.c 2010-07-30 05:51:32 UTC (rev 30888)
+++ trunk/blender/source/blender/blenkernel/intern/deform.c 2010-07-30 06:09:23 UTC (rev 30889)
@@ -471,6 +471,7 @@
#undef IS_SEPARATOR
sprintf (name, "%s%s%s%s", prefix, replace, suffix, number);
+ printf("'%s' --> '%s'\n", from_name, name);
}
float defvert_find_weight(const struct MDeformVert *dvert, int group_num)
Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c 2010-07-30 05:51:32 UTC (rev 30888)
+++ trunk/blender/source/blender/blenkernel/intern/image.c 2010-07-30 06:09:23 UTC (rev 30889)
@@ -287,17 +287,25 @@
}
/* empty image block, of similar type and filename */
-Image *BKE_image_copy(Image *ima)
+Image *copy_image(Image *ima)
{
- Image *new= image_alloc(ima->id.name+2, ima->source, ima->type);
+ Image *nima= image_alloc(ima->id.name+2, ima->source, ima->type);
- BLI_strncpy(new->name, ima->name, sizeof(ima->name));
+ BLI_strncpy(nima->name, ima->name, sizeof(ima->name));
+
+ nima->flag= ima->flag;
+ nima->tpageflag= ima->tpageflag;
- new->gen_x= ima->gen_x;
- new->gen_y= ima->gen_y;
- new->gen_type= ima->gen_type;
-
- return new;
+ nima->gen_x= ima->gen_x;
+ nima->gen_y= ima->gen_y;
+ nima->gen_type= ima->gen_type;
+
+ nima->animspeed= ima->animspeed;
+
+ nima->aspx= ima->aspx;
+ nima->aspy= ima->aspy;
+
+ return nima;
}
void BKE_image_merge(Image *dest, Image *source)
Modified: trunk/blender/source/blender/blenkernel/intern/library.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/library.c 2010-07-30 05:51:32 UTC (rev 30888)
+++ trunk/blender/source/blender/blenkernel/intern/library.c 2010-07-30 06:09:23 UTC (rev 30889)
@@ -262,7 +262,8 @@
if(!test) *newid= (ID*)copy_texture((Tex*)id);
return 1;
case ID_IM:
- return 0; /* not implemented */
+ if(!test) *newid= (ID*)copy_image((Image*)id);
+ return 1;
case ID_WV:
return 0; /* deprecated */
case ID_LT:
Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c 2010-07-30 05:51:32 UTC (rev 30888)
+++ trunk/blender/source/blender/blenkernel/intern/node.c 2010-07-30 06:09:23 UTC (rev 30889)
@@ -2565,7 +2565,7 @@
if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
if(node->id) {
if(node->flag & NODE_DO_OUTPUT)
- node->new_node->id= (ID *)BKE_image_copy((Image *)node->id);
+ node->new_node->id= (ID *)copy_image((Image *)node->id);
else
node->new_node->id= NULL;
}
Modified: trunk/blender/source/blender/makesdna/DNA_image_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_image_types.h 2010-07-30 05:51:32 UTC (rev 30888)
+++ trunk/blender/source/blender/makesdna/DNA_image_types.h 2010-07-30 06:09:23 UTC (rev 30889)
@@ -105,7 +105,7 @@
/* **************** IMAGE ********************* */
-/* flag */
+/* Image.flag */
#define IMA_FIELDS 1
#define IMA_STD_FIELD 2
#define IMA_DO_PREMUL 4
@@ -115,7 +115,7 @@
#define IMA_DEPRECATED 64
#define IMA_OLD_PREMUL 128
-/* tpageflag */
+/* Image.tpageflag */
#define IMA_TILES 1
#define IMA_TWINANIM 2
#define IMA_COLCYCLE 4 /* Depreciated */
More information about the Bf-blender-cvs
mailing list