Fix [#36530] Texture tab refreshing problem
authorBastien Montagne <montagne29@wanadoo.fr>
Wed, 21 Aug 2013 21:35:45 +0000 (21:35 +0000)
committerBastien Montagne <montagne29@wanadoo.fr>
Wed, 21 Aug 2013 21:35:45 +0000 (21:35 +0000)
commitc26a4be5c013650f339f446185339aa71f2b88c4
tree6879a4f3030d1e75206a4cb50ed4c00343b91247
parent2a5b6d9c8f167724d2ddd2bf1a2b59036121ac81
Fix [#36530] Texture tab refreshing problem

That was not really a bug (code working as expected), but the way tex context was handled was a bit raw, now it is much smarter:
* Default fallback context (when current one is no more valid) will now choose "most specific" ones first (i.e. material/lamp/particules before world and "others").
* When using that default fallback context, previous one is stored and we try to revive it later, if possible. Thus e.g. object[mat tex ctxt] -> empty[default world ctxt] -> object[mat tex ctxt] is now working as expected.
* However, when user explicitely or implicitely (through e.g. going to Material context...) sets a tex context, previous one is not stored, so that only default fallback context switch may later automatically revive a previous (presumably user-set) context.
source/blender/editors/space_buttons/buttons_texture.c
source/blender/makesdna/DNA_space_types.h
source/blender/makesrna/intern/rna_space.c