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:
authorJulian Eisel <julian@blender.org>2021-08-03 13:10:26 +0300
committerJulian Eisel <julian@blender.org>2021-08-03 13:25:38 +0300
commitc0900a64ceeaa46a1dfd1fa19d5b57449fb7788a (patch)
tree3aa86783bf0f51fe89d45c335b9f68e183c7f5fb
parentb1a607ce04fecae7af4474f7b087993ec2cf8e5b (diff)
Fix T90341: Crash opening 2.4 file with File Browser editor open
The file selection parameters (e.g. `context.space_data.params`) are expected to be unset in certain cases. Reading 2.4 files seems to be one of them. Hence, code using it should check it's set first. Also added an assert to a File Browser UI template printing a message when the parameters are unset, to help debugging the issue.
-rw-r--r--release/scripts/startup/bl_ui/space_filebrowser.py5
-rw-r--r--source/blender/editors/space_file/file_draw.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py
index 44631e368a3..3189efeb939 100644
--- a/release/scripts/startup/bl_ui/space_filebrowser.py
+++ b/release/scripts/startup/bl_ui/space_filebrowser.py
@@ -373,6 +373,7 @@ class FILEBROWSER_PT_advanced_filter(Panel):
def poll(cls, context):
# only useful in append/link (library) context currently...
return (
+ context.space_data.params and
context.space_data.params.use_library_browsing and
panel_poll_is_upper_region(context.region) and
not panel_poll_is_asset_browsing(context)
@@ -423,6 +424,10 @@ class FILEBROWSER_PT_directory_path(Panel):
return True
+ @classmethod
+ def poll(cls, context):
+ return context.space_data.params
+
def draw(self, context):
layout = self.layout
space = context.space_data
diff --git a/source/blender/editors/space_file/file_draw.c b/source/blender/editors/space_file/file_draw.c
index 37a56816677..7d9b8583838 100644
--- a/source/blender/editors/space_file/file_draw.c
+++ b/source/blender/editors/space_file/file_draw.c
@@ -82,6 +82,9 @@ void ED_file_path_button(bScreen *screen,
PointerRNA params_rna_ptr;
uiBut *but;
+ BLI_assert_msg(params != NULL,
+ "File select parameters not set. The caller is expected to check this.");
+
RNA_pointer_create(&screen->id, &RNA_FileSelectParams, params, &params_rna_ptr);
/* callbacks for operator check functions */