diff options
author | Ines Almeida <britalmeida@gmail.com> | 2015-01-13 14:04:25 +0300 |
---|---|---|
committer | Ines Almeida <britalmeida@gmail.com> | 2015-01-13 14:04:25 +0300 |
commit | cb61c5aeee94af943b0306550daef45c2018126a (patch) | |
tree | dbb2a9b5600bc53de35162e79091772bff1b6f8b /source/blender/editors/interface/interface_panel.c | |
parent | d7cabe7d6f4519856969137df415692e16a5372d (diff) | |
parent | 117edbbf881be1764db852d9805c523590a19f84 (diff) |
Merge branch 'master' into soc-2014-bgesoc-2014-bge
Diffstat (limited to 'source/blender/editors/interface/interface_panel.c')
-rw-r--r-- | source/blender/editors/interface/interface_panel.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 5ccfa4193e9..e68c86353a3 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -753,9 +753,13 @@ static int find_highest_panel(const void *a1, const void *a2) const PanelSort *ps1 = a1, *ps2 = a2; /* stick uppermost header-less panels to the top of the region - - * prevent them from being sorted */ - if (ps1->pa->sortorder < ps2->pa->sortorder && ps1->pa->type->flag & PNL_NO_HEADER) return -1; - + * prevent them from being sorted (multiple header-less panels have to be sorted though) */ + if (ps1->pa->type->flag & PNL_NO_HEADER && ps2->pa->type->flag & PNL_NO_HEADER) { + /* skip and check for ofs and sortorder below */ + } + else if (ps1->pa->type->flag & PNL_NO_HEADER) return -1; + else if (ps2->pa->type->flag & PNL_NO_HEADER) return 1; + if (ps1->pa->ofsy + ps1->pa->sizey < ps2->pa->ofsy + ps2->pa->sizey) return 1; else if (ps1->pa->ofsy + ps1->pa->sizey > ps2->pa->ofsy + ps2->pa->sizey) return -1; else if (ps1->pa->sortorder > ps2->pa->sortorder) return 1; |