diff options
author | Ton Roosendaal <ton@blender.org> | 2006-06-27 16:54:16 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-06-27 16:54:16 +0400 |
commit | ed631ecff6803dbedf7063a5ac989053758189ae (patch) | |
tree | 9c5ea0cbdae196cff6a35608b16e97a85c719c6e /source | |
parent | 56bcc1c3bbd2a30b487c2dd228002eeb5d5259a9 (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.h | 2 | ||||
-rw-r--r-- | source/blender/src/header_info.c | 4 | ||||
-rw-r--r-- | source/blender/src/outliner.c | 16 | ||||
-rw-r--r-- | source/blender/src/space.c | 5 | ||||
-rw-r--r-- | source/blender/src/toets.c | 14 |
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: |