Buttonswindow: Fkey cycling bug, accessing OBACT without checking it OK.

Caused crash on pressing F6,F5 after deleting object (thanks DJC!)
This commit is contained in:
Ton Roosendaal 2005-11-26 15:13:10 +00:00
parent 800c12f4a1
commit 5b04f23777

@ -3297,6 +3297,7 @@ void extern_set_butspace(int fkey)
{
ScrArea *sa;
SpaceButs *sbuts;
Object *ob= OBACT;
/* when a f-key pressed: 'closest' button window is initialized */
if(curarea->spacetype==SPACE_BUTS) sa= curarea;
@ -3336,12 +3337,12 @@ void extern_set_butspace(int fkey)
}
/* if we're coming in from texture buttons,
or from outside the shading context, just go to the 'default' */
else if ((OBACT && sbuts->mainb!= CONTEXT_SHADING) || (sbuts->oldkeypress == F6KEY)) {
else if (ob && ((sbuts->mainb!= CONTEXT_SHADING) || (sbuts->oldkeypress == F6KEY)) ) {
sbuts->mainb= CONTEXT_SHADING;
if(OBACT->type==OB_CAMERA)
if(ob->type==OB_CAMERA)
sbuts->tab[CONTEXT_SHADING]= TAB_SHADING_WORLD;
else if(OBACT->type==OB_LAMP)
else if(ob->type==OB_LAMP)
sbuts->tab[CONTEXT_SHADING]= TAB_SHADING_LAMP;
else
sbuts->tab[CONTEXT_SHADING]= TAB_SHADING_MAT;