Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-07-05 15:33:09 +0400
committerTon Roosendaal <ton@blender.org>2006-07-05 15:33:09 +0400
commit8640615ac6386dbf6372be286115321c06878ede (patch)
tree2a3a93fd3b95f9fa165d445fd1881e5ae2d84711 /source
parent6f2e6f07212a1ffe75668d903ce10c1a6a4b2033 (diff)
Bug #4616
Node Editor: selecting Material buttons in header crashed, when no buttons window was opened. Code didn't check for proper window it was called from. Also: autoname "Cyan" was spelled dutch! :)
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/material.c2
-rw-r--r--source/blender/src/headerbuttons.c44
2 files changed, 36 insertions, 10 deletions
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index ad9b4db8844..a58f9b472ee 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -701,7 +701,7 @@ char colname_array[125][20]= {
"LightBlue","Purple","MediumOrchid","Magenta","Magenta",
"RoyalBlue","SlateBlue","MediumOrchid","Orchid","Magenta",
"DeepSkyBlue","LightSteelBlue","LightSkyBlue","Violet","LightPink",
-"Cyaan","DarkTurquoise","SkyBlue","Grey","Snow",
+"Cyan","DarkTurquoise","SkyBlue","Grey","Snow",
"Mint","Mint","Aquamarine","MintCream","Ivory",
"Blue","Blue","DarkMagenta","DarkOrchid","Magenta",
"SkyBlue","RoyalBlue","LightSlateBlue","MediumOrchid","Magenta",
diff --git a/source/blender/src/headerbuttons.c b/source/blender/src/headerbuttons.c
index 2d0418d2c72..2f11a624bca 100644
--- a/source/blender/src/headerbuttons.c
+++ b/source/blender/src/headerbuttons.c
@@ -576,10 +576,10 @@ void do_global_buttons(unsigned short event)
scrarea_queue_headredraw(curarea);
break;
case B_EDITBROWSE:
- if(ob==0) return;
+ if(ob==NULL) return;
if(ob->id.lib) return;
id= ob->data;
- if(id==0) return;
+ if(id==NULL) return;
if(G.buts->menunr== -2) {
activate_databrowse((ID *)G.buts->lockpoin, GS(id->name), 0, B_EDITBROWSE, &G.buts->menunr, do_global_buttons);
@@ -656,14 +656,30 @@ void do_global_buttons(unsigned short event)
break;
case B_MATBROWSE:
- if(G.buts->menunr== -2) {
- activate_databrowse((ID *)G.buts->lockpoin, ID_MA, 0, B_MATBROWSE, &G.buts->menunr, do_global_buttons);
+ {
+ void *lockpoin= NULL;
+ short *menunr= 0;
+
+ /* this is called now from Node editor too, buttons might not exist */
+ if(curarea->spacetype==SPACE_NODE) {
+ SpaceNode *snode= curarea->spacedata.first;
+ menunr= &snode->menunr;
+ lockpoin= snode->id;
+ }
+ else if(G.buts) {
+ menunr= &G.buts->menunr;
+ lockpoin= G.buts->lockpoin;
+ }
+ else return;
+
+ if(*menunr== -2) {
+ activate_databrowse((ID *)lockpoin, ID_MA, 0, B_MATBROWSE, menunr, do_global_buttons);
return;
}
- if(G.buts->menunr < 0) return;
+ if(*menunr < 0) return;
- if(G.buts->pin) {
+ if(0) { /* future pin */
}
else {
@@ -675,7 +691,7 @@ void do_global_buttons(unsigned short event)
idtest= G.main->mat.first;
while(idtest) {
- if(nr==G.buts->menunr) {
+ if(nr== *menunr) {
break;
}
nr++;
@@ -699,9 +715,10 @@ void do_global_buttons(unsigned short event)
}
}
+ }
break;
case B_MATDELETE:
- if(G.buts->pin) {
+ if(0) { /* future pin */
}
else {
@@ -1192,10 +1209,19 @@ void do_global_buttons(unsigned short event)
break;
case B_AUTOMATNAME:
- automatname(G.buts->lockpoin);
+ /* this is called now from Node editor too, buttons might not exist */
+ if(curarea->spacetype==SPACE_NODE) {
+ SpaceNode *snode= curarea->spacedata.first;
+ automatname((Material *)snode->id);
+ }
+ else if(G.buts) {
+ automatname(G.buts->lockpoin);
+ }
+ else return;
BIF_undo_push("Auto name");
allqueue(REDRAWBUTSSHADING, 0);
+ allqueue(REDRAWNODE, 0);
allqueue(REDRAWOOPS, 0);
break;
case B_AUTOTEXNAME: