diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-02 21:22:56 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-02 21:22:56 +0300 |
commit | 8063d72b08d2e219ebb2087e6188a8f2186f398d (patch) | |
tree | 0634c2e0a96eebe2499d1e34006dd378a1354076 /source/blender/editors/interface/interface_layout.c | |
parent | 26e0dc5d150c558946d6e2009cb1662b28c3fb82 (diff) |
Fix T60037: single column layout breaks file browse button.
Diffstat (limited to 'source/blender/editors/interface/interface_layout.c')
-rw-r--r-- | source/blender/editors/interface/interface_layout.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 87927ef7643..221a88bbd1c 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -876,7 +876,7 @@ void UI_context_active_but_prop_get_filebrowser( { ARegion *ar = CTX_wm_region(C); uiBlock *block; - uiBut *but, *prevbut; + uiBut *but, *prevbut = NULL; memset(r_ptr, 0, sizeof(*r_ptr)); *r_prop = NULL; @@ -887,16 +887,18 @@ void UI_context_active_but_prop_get_filebrowser( for (block = ar->uiblocks.first; block; block = block->next) { for (but = block->buttons.first; but; but = but->next) { - prevbut = but->prev; + if (but && but->rnapoin.data) { + if (RNA_property_type(but->rnaprop) == PROP_STRING) { + prevbut = but; + } + } /* find the button before the active one */ - if ((but->flag & UI_BUT_LAST_ACTIVE) && prevbut && prevbut->rnapoin.data) { - if (RNA_property_type(prevbut->rnaprop) == PROP_STRING) { - *r_ptr = prevbut->rnapoin; - *r_prop = prevbut->rnaprop; - *r_is_undo = (prevbut->flag & UI_BUT_UNDO) != 0; - return; - } + if ((but->flag & UI_BUT_LAST_ACTIVE) && prevbut) { + *r_ptr = prevbut->rnapoin; + *r_prop = prevbut->rnaprop; + *r_is_undo = (prevbut->flag & UI_BUT_UNDO) != 0; + return; } } } |