In rBb279fef85d1a: Geometry Nodes: show "Show Texture in texture tab" button the button that displays a texture in a Properties
Editor texture tab was added for geometry nodes.
Same commit will actually show them for Brush textures as well (but
disabled -- because the Texture users dont match).
This task is for finanlizing proper support for Brush textures as well.
There was originally a separate patch for this (see D9813: Sculpt / Paint: show "Show Texture in texture tab" button) but most of
it was already implemented by above commit.
what this solves
from the default startup file:
- go to any sculpt or paint mode and add a texture to your brush
- observe the button to edit this texture in the Properties editor is
greyed out
There are two possible solutions:
- [1] call the texture template for the brush texture_slot texture
(instead of the brush 'texture') from the python UI code, this is then
working in harmony how ButsTextureUser works for brushes
- [2] tweak the way ButsTextureUser works (dont rely on
RNA_BrushTextureSlot there)
This patch implements the first solution.
Since brush.texture_slot is br->mtex RNA wrapped and brush.texture
is br->mtex.tex RNA wrapped, this really comes down to doing the same
thing. I checked that creating a new texture and unlinking/deleting will
have the same results even though they take slightly different code
paths: assignment and NULLing the pointers are working on the same (see
above) and RNA update callbacks also do the same [even though in
different functions]:
- brush.texture will do rna_Brush_main_tex_update
- brush.texture_slot.texture will do rna_TextureSlotTexture_update /
rna_TextureSlot_update
(only difference here is an additional DEG relations update in the case
of texture_slot which should not do harm)
