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
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-02 21:22:56 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-02 21:22:56 +0300
commit8063d72b08d2e219ebb2087e6188a8f2186f398d (patch)
tree0634c2e0a96eebe2499d1e34006dd378a1354076
parent26e0dc5d150c558946d6e2009cb1662b28c3fb82 (diff)
Fix T60037: single column layout breaks file browse button.
-rw-r--r--source/blender/editors/interface/interface_layout.c20
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;
}
}
}