Fix for [#26520] Point Density turbulence not accessible in Texture Properties.

* Mistake in the ui file.
* Also found a possible memory leak.
This commit is contained in:
Janne Karhu 2011-03-16 18:21:31 +00:00
parent bcee2343ea
commit 6dda182a76
3 changed files with 18 additions and 12 deletions

@ -706,12 +706,13 @@ class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel):
col.separator()
col.label(text="Color Source:")
col.prop(pd, "color_source", text="")
if pd.color_source in {'PARTICLE_SPEED', 'PARTICLE_VELOCITY'}:
col.prop(pd, "speed_scale")
if pd.color_source in {'PARTICLE_SPEED', 'PARTICLE_AGE'}:
layout.template_color_ramp(pd, "color_ramp", expand=True)
if pd.point_source == 'PARTICLE_SYSTEM':
col.label(text="Color Source:")
col.prop(pd, "color_source", text="")
if pd.color_source in {'PARTICLE_SPEED', 'PARTICLE_VELOCITY'}:
col.prop(pd, "speed_scale")
if pd.color_source in {'PARTICLE_SPEED', 'PARTICLE_AGE'}:
layout.template_color_ramp(pd, "color_ramp", expand=True)
col = split.column()
col.label()
@ -733,7 +734,7 @@ class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, bpy.types.Panel):
return tex and (tex.type == 'POINT_DENSITY' and (engine in cls.COMPAT_ENGINES))
def draw_header(self, context):
pd = tex.point_density
pd = context.texture.point_density
self.layout.prop(pd, "use_turbulence", text="")

@ -1379,7 +1379,10 @@ void BKE_free_pointdensitydata(PointDensity *pd)
MEM_freeN(pd->point_data);
pd->point_data = NULL;
}
if(pd->coba) MEM_freeN(pd->coba);
if(pd->coba) {
MEM_freeN(pd->coba);
pd->coba = NULL;
}
}
void BKE_free_pointdensity(PointDensity *pd)

@ -68,10 +68,12 @@ static int point_data_used(PointDensity *pd)
{
int pd_bitflag = 0;
if ((pd->noise_influence == TEX_PD_NOISE_VEL) || (pd->color_source == TEX_PD_COLOR_PARTVEL) || (pd->color_source == TEX_PD_COLOR_PARTSPEED))
pd_bitflag |= POINT_DATA_VEL;
if ((pd->noise_influence == TEX_PD_NOISE_AGE) || (pd->color_source == TEX_PD_COLOR_PARTAGE))
pd_bitflag |= POINT_DATA_LIFE;
if (pd->source == TEX_PD_PSYS) {
if ((pd->noise_influence == TEX_PD_NOISE_VEL) || (pd->color_source == TEX_PD_COLOR_PARTVEL) || (pd->color_source == TEX_PD_COLOR_PARTSPEED))
pd_bitflag |= POINT_DATA_VEL;
if ((pd->noise_influence == TEX_PD_NOISE_AGE) || (pd->color_source == TEX_PD_COLOR_PARTAGE))
pd_bitflag |= POINT_DATA_LIFE;
}
return pd_bitflag;
}