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-06-27 16:54:16 +0400
committerTon Roosendaal <ton@blender.org>2006-06-27 16:54:16 +0400
commited631ecff6803dbedf7063a5ac989053758189ae (patch)
tree9c5ea0cbdae196cff6a35608b16e97a85c719c6e /source
parent56bcc1c3bbd2a30b487c2dd228002eeb5d5259a9 (diff)
Bugfix #4502
A subsequent hotkey press like F5 now cycles through the sub-context in buttons. However, this should not happen when clicking on Material icon in outliner!
Diffstat (limited to 'source')
-rw-r--r--source/blender/include/BIF_space.h2
-rw-r--r--source/blender/src/header_info.c4
-rw-r--r--source/blender/src/outliner.c16
-rw-r--r--source/blender/src/space.c5
-rw-r--r--source/blender/src/toets.c14
5 files changed, 21 insertions, 20 deletions
diff --git a/source/blender/include/BIF_space.h b/source/blender/include/BIF_space.h
index 2f5dbd4fc16..0faaae57028 100644
--- a/source/blender/include/BIF_space.h
+++ b/source/blender/include/BIF_space.h
@@ -104,7 +104,7 @@ extern void copy_view3d_lock(short val);
extern void drawemptyspace(struct ScrArea *sa, void *spacedata);
extern void drawinfospace(struct ScrArea *sa, void *spacedata);
extern void duplicatespacelist(struct ScrArea *area, struct ListBase *lb1, struct ListBase *lb2);
-extern void extern_set_butspace(int fkey);
+extern void extern_set_butspace(int fkey, int do_cycle);
extern void force_draw(int header);
extern void force_draw_all(int header);
extern void force_draw_plus(int type, int header);
diff --git a/source/blender/src/header_info.c b/source/blender/src/header_info.c
index d97e3a539a2..b084f4dea0a 100644
--- a/source/blender/src/header_info.c
+++ b/source/blender/src/header_info.c
@@ -1574,8 +1574,8 @@ static void do_info_rendermenu(void *arg, int event)
break;
- case 7:
- extern_set_butspace(F10KEY);
+ case 7:
+ extern_set_butspace(F10KEY, 1);
break;
}
allqueue(REDRAWINFO, 0);
diff --git a/source/blender/src/outliner.c b/source/blender/src/outliner.c
index b047323376c..152e88ef657 100644
--- a/source/blender/src/outliner.c
+++ b/source/blender/src/outliner.c
@@ -1032,7 +1032,7 @@ static int tree_element_active_material(SpaceOops *soops, TreeElement *te, int s
}
}
if(set) {
- extern_set_butspace(F5KEY); // force shading buttons
+ extern_set_butspace(F5KEY, 0); // force shading buttons
BIF_preview_changed(ID_MA);
allqueue(REDRAWBUTSSHADING, 1);
allqueue(REDRAWNODE, 0);
@@ -1074,7 +1074,7 @@ static int tree_element_active_texture(SpaceOops *soops, TreeElement *te, int se
sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
sbuts->texfrom= 1;
}
- extern_set_butspace(F6KEY); // force shading buttons texture
+ extern_set_butspace(F6KEY, 0); // force shading buttons texture
wrld->texact= te->index;
}
else if(tselemp->id == (ID *)(G.scene->world)) {
@@ -1088,7 +1088,7 @@ static int tree_element_active_texture(SpaceOops *soops, TreeElement *te, int se
sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
sbuts->texfrom= 2;
}
- extern_set_butspace(F6KEY); // force shading buttons texture
+ extern_set_butspace(F6KEY, 0); // force shading buttons texture
la->texact= te->index;
}
else {
@@ -1104,7 +1104,7 @@ static int tree_element_active_texture(SpaceOops *soops, TreeElement *te, int se
//sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
sbuts->texfrom= 0;
}
- extern_set_butspace(F6KEY); // force shading buttons texture
+ extern_set_butspace(F6KEY, 0); // force shading buttons texture
ma->texact= te->index;
/* also set active material */
@@ -1128,7 +1128,7 @@ static int tree_element_active_lamp(SpaceOops *soops, TreeElement *te, int set)
if(ob==NULL || ob!=OBACT) return 0; // just paranoia
if(set) {
- extern_set_butspace(F5KEY);
+ extern_set_butspace(F5KEY, 0);
BIF_preview_changed(ID_LA);
allqueue(REDRAWBUTSSHADING, 1);
allqueue(REDRAWOOPS, 0);
@@ -1160,7 +1160,7 @@ static int tree_element_active_world(SpaceOops *soops, TreeElement *te, int set)
if(tep==NULL || tselem->id == (ID *)G.scene) {
if(set) {
- extern_set_butspace(F8KEY);
+ extern_set_butspace(F8KEY, 0);
}
else {
return 1;
@@ -1356,7 +1356,7 @@ static int tree_element_active_ebone(TreeElement *te, TreeStoreElem *tselem, int
static int tree_element_active_modifier(TreeElement *te, TreeStoreElem *tselem, int set)
{
if(set) {
- extern_set_butspace(F9KEY);
+ extern_set_butspace(F9KEY, 0);
}
return 0;
@@ -1506,7 +1506,7 @@ static int do_outliner_mouse_event(SpaceOops *soops, TreeElement *te, short even
if(G.obedit) exit_editmode(2);
else {
enter_editmode();
- extern_set_butspace(F9KEY);
+ extern_set_butspace(F9KEY, 0);
}
}
else { // rest of types
diff --git a/source/blender/src/space.c b/source/blender/src/space.c
index 753e120d68b..7efc067acc7 100644
--- a/source/blender/src/space.c
+++ b/source/blender/src/space.c
@@ -3487,7 +3487,7 @@ static void init_butspace(ScrArea *sa)
buts->ri = NULL;
}
-void extern_set_butspace(int fkey)
+void extern_set_butspace(int fkey, int do_cycle)
{
ScrArea *sa;
SpaceButs *sbuts;
@@ -3504,11 +3504,12 @@ void extern_set_butspace(int fkey)
}
}
- if(sa==0) return;
+ if(sa==NULL) return;
if(sa!=curarea) areawinset(sa->win);
sbuts= sa->spacedata.first;
+ if(!do_cycle) sbuts->oldkeypress= 0;
if(fkey==F4KEY) {
sbuts->mainb= CONTEXT_LOGIC;
diff --git a/source/blender/src/toets.c b/source/blender/src/toets.c
index 6fa45f98f85..abb7578ec68 100644
--- a/source/blender/src/toets.c
+++ b/source/blender/src/toets.c
@@ -460,7 +460,7 @@ int blenderqread(unsigned short event, short val)
return 0;
}
else if(G.qual==0) {
- extern_set_butspace(event);
+ extern_set_butspace(event, 1);
}
break;
case F5KEY:
@@ -469,7 +469,7 @@ int blenderqread(unsigned short event, short val)
return 0;
}
else if(G.qual==0) {
- extern_set_butspace(event);
+ extern_set_butspace(event, 1);
}
break;
case F6KEY:
@@ -478,7 +478,7 @@ int blenderqread(unsigned short event, short val)
return 0;
}
else if(G.qual==0) {
- extern_set_butspace(event);
+ extern_set_butspace(event, 1);
}
break;
case F7KEY:
@@ -487,7 +487,7 @@ int blenderqread(unsigned short event, short val)
return 0;
}
else if(G.qual==0) {
- extern_set_butspace(event);
+ extern_set_butspace(event, 1);
}
break;
case F8KEY:
@@ -496,7 +496,7 @@ int blenderqread(unsigned short event, short val)
return 0;
}
else if(G.qual==0) {
- extern_set_butspace(event);
+ extern_set_butspace(event, 1);
}
break;
case F9KEY:
@@ -509,7 +509,7 @@ int blenderqread(unsigned short event, short val)
return 0;
}
else if(G.qual==0) {
- extern_set_butspace(event);
+ extern_set_butspace(event, 1);
}
break;
case F10KEY:
@@ -518,7 +518,7 @@ int blenderqread(unsigned short event, short val)
return 0;
}
else if(G.qual==0) {
- extern_set_butspace(event);
+ extern_set_butspace(event, 1);
}
break;
case F11KEY: