[Bf-committers] Tiny interface bugfix

Matt Ebb bf-committers@blender.org
Wed, 30 Apr 2003 17:04:37 +1000


When adding a new object to the scene with editbuttons open in the buttons
window, the window refreshes properly after the user has given paramaters
for the new object (eg. for a uvsphere: Segments, Rings, etc.) to reflect
the new settings for the object. This doesn't happen when materialbuttons or
texturebuttons are open - they still display the old material settings from
the last selected object, until the mouse pointer passes over the
buttonswindow and out again. This only seems to happen with meshes,
surfaces, curves, text and armatures. Other object types such as metaballs
update the materialbuttons properly

To replicate this:
1. Start Blender and create an object.
2. F5 to go to materialbuttons and add a new material.
3. Spacebar -> add -> mesh, surface, curve, text or armature - buttonswindow
does not update.
4. Move mouse pointer over buttonswindow and back out over the 3d viewport -
buttonswindow updates.

This also happens with the texturebuttons as well as materialbuttons.

To fix this behaviour, replace the line:

 allqueue(REDRAWBUTSEDIT, 0);

with:

 allqueue(REDRAWBUTSALL, 0);

in the following files:

src/editmesh.c, line 4627
src/editarmature.c, line 1519   (you can also remove the
REDRAWBUTSCONSTRAINT line, and perhaps the REDRAWBUTSHEAD line, but I'm not
so sure what the latter does...)
src/editcurve.c, line 3818
src/editcurve.c, line 3851
src/editfont.c, line 589 (no REDRAWBUTSEDIT line here, so just insert in the
REDRAWBUTSALL line)


Cheers,

Matt