[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15903] trunk/blender/source/blender: Ipo Editor would not allow access to either World or Lamp texture Ipos.

Roland Hess me at harkyman.com
Fri Aug 1 14:56:29 CEST 2008


Revision: 15903
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15903
Author:   harkyman
Date:     2008-08-01 14:56:29 +0200 (Fri, 01 Aug 2008)

Log Message:
-----------
Ipo Editor would not allow access to either World or Lamp texture Ipos. Now it does. Fixes bug #17379.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_texture.h
    trunk/blender/source/blender/blenkernel/intern/texture.c
    trunk/blender/source/blender/src/editipo.c
    trunk/blender/source/blender/src/header_ipo.c

Modified: trunk/blender/source/blender/blenkernel/BKE_texture.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_texture.h	2008-08-01 02:25:21 UTC (rev 15902)
+++ trunk/blender/source/blender/blenkernel/BKE_texture.h	2008-08-01 12:56:29 UTC (rev 15903)
@@ -62,6 +62,7 @@
 void make_local_texture(struct Tex *tex);
 void autotexname(struct Tex *tex);
 struct Tex *give_current_texture(struct Object *ob, int act);
+struct Tex *give_current_world_texture(void);
 
 struct TexMapping *add_mapping(void);
 void init_mapping(struct TexMapping *texmap);

Modified: trunk/blender/source/blender/blenkernel/intern/texture.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/texture.c	2008-08-01 02:25:21 UTC (rev 15902)
+++ trunk/blender/source/blender/blenkernel/intern/texture.c	2008-08-01 12:56:29 UTC (rev 15903)
@@ -53,6 +53,7 @@
 #include "DNA_world_types.h"
 #include "DNA_brush_types.h"
 #include "DNA_node_types.h"
+#include "DNA_scene_types.h"
 
 #include "IMB_imbuf_types.h"
 #include "IMB_imbuf.h"
@@ -731,7 +732,7 @@
 	bNode *node;
 	
 	if(ob==0) return 0;
-	if(ob->totcol==0) return 0;
+	if(ob->totcol==0 && !(ob->type==OB_LAMP)) return 0;
 	
 	if(ob->type==OB_LAMP) {
 		la=(Lamp *)ob->data;
@@ -775,6 +776,18 @@
 	return tex;
 }
 
+Tex *give_current_world_texture(void)
+{
+	MTex *mtex = 0;
+	Tex *tex = 0;
+	
+	if(!(G.scene->world)) return 0;
+	
+	mtex= G.scene->world->mtex[(int)(G.scene->world->texact)];
+	if(mtex) tex= mtex->tex;
+	
+	return tex;
+}
 
 /* ------------------------------------------------------------------------- */
 

Modified: trunk/blender/source/blender/src/editipo.c
===================================================================
--- trunk/blender/source/blender/src/editipo.c	2008-08-01 02:25:21 UTC (rev 15902)
+++ trunk/blender/source/blender/src/editipo.c	2008-08-01 12:56:29 UTC (rev 15903)
@@ -82,6 +82,7 @@
 #include "BKE_group.h"
 #include "BKE_ipo.h"
 #include "BKE_key.h"
+#include "BKE_main.h"
 #include "BKE_material.h"
 #include "BKE_particle.h"
 #include "BKE_texture.h"
@@ -933,6 +934,9 @@
 			ob->ipowin= ID_TE;
 			make_texture_editipo(G.sipo);
 		}
+		else if(G.scene->world && give_current_world_texture()) {
+			make_texture_editipo(G.sipo);
+		}
 	}
 	else if(G.sipo->blocktype==ID_CA) {
 		if (ob) {
@@ -1120,6 +1124,11 @@
 			*from= (ID *)tex;
 			if(tex) *ipo= tex->ipo;
 		}
+		else if(G.scene->world) {
+			Tex *tex= give_current_world_texture();
+			*from= (ID *)tex;
+			if(tex) *ipo= tex->ipo;
+		}
 	}
 	else if(blocktype==ID_MA) {
 		if(ob) {
@@ -6002,4 +6011,4 @@
 		}
 	}
 	BIF_undo_push("Set frame to selected Ipo vertex");
-}
+}
\ No newline at end of file

Modified: trunk/blender/source/blender/src/header_ipo.c
===================================================================
--- trunk/blender/source/blender/src/header_ipo.c	2008-08-01 02:25:21 UTC (rev 15902)
+++ trunk/blender/source/blender/src/header_ipo.c	2008-08-01 12:56:29 UTC (rev 15903)
@@ -970,7 +970,7 @@
 	if(ob && ob->type==OB_LAMP)
 		str += sprintf(str,formatstring, "Lamp",ID_LA, ICON_LAMP);
 
-	if(ob && give_current_texture(ob, ob->actcol))
+	if((ob && give_current_texture(ob, ob->actcol))||(give_current_world_texture()))
 		str += sprintf(str,formatstring, "Texture",ID_TE, ICON_TEXTURE);
 
 	if(ob){





More information about the Bf-blender-cvs mailing list