diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_files.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index c1c31f6795d..f5a7ad164d6 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -355,7 +355,7 @@ static int wm_read_exotic(Scene *UNUSED(scene), const char *name) else { len = gzread(gzfile, header, sizeof(header)); gzclose(gzfile); - if (len == sizeof(header) && strncmp(header, "BLENDER", 7) == 0) { + if (len == sizeof(header) && STREQLEN(header, "BLENDER", 7)) { retval = BKE_READ_EXOTIC_OK_BLEND; } else { @@ -535,11 +535,13 @@ bool WM_file_read(bContext *C, const char *filepath, ReportList *reports) } -/* called on startup, (context entirely filled with NULLs) */ -/* or called for 'New File' */ -/* both startup.blend and userpref.blend are checked */ -/* the optional paramater custom_file points to an alterntive startup page */ -/* custom_file can be NULL */ +/** + * called on startup, (context entirely filled with NULLs) + * or called for 'New File' + * both startup.blend and userpref.blend are checked + * the optional parameter custom_file points to an alternative startup page + * custom_file can be NULL + */ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const char *custom_file) { ListBase wmbase; @@ -561,6 +563,10 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c /* options exclude eachother */ BLI_assert((from_memory && custom_file) == 0); + if ((G.f & G_SCRIPT_OVERRIDE_PREF) == 0) { + BKE_BIT_TEST_SET(G.f, (U.flag & USER_SCRIPT_AUTOEXEC_DISABLE) == 0, G_SCRIPT_AUTOEXEC); + } + BLI_callback_exec(CTX_data_main(C), NULL, BLI_CB_EVT_LOAD_PRE); UI_view2d_zoom_cache_reset(); @@ -840,11 +846,11 @@ static ImBuf *blend_file_thumb(Scene *scene, bScreen *screen, int **thumb_pt) if (scene->camera) { ibuf = ED_view3d_draw_offscreen_imbuf_simple(scene, scene->camera, BLEN_THUMB_SIZE * 2, BLEN_THUMB_SIZE * 2, - IB_rect, OB_SOLID, false, false, false, R_ADDSKY, err_out); + IB_rect, OB_SOLID, false, false, false, R_ALPHAPREMUL, err_out); } else { ibuf = ED_view3d_draw_offscreen_imbuf(scene, v3d, ar, BLEN_THUMB_SIZE * 2, BLEN_THUMB_SIZE * 2, - IB_rect, false, R_ADDSKY, err_out); + IB_rect, false, R_ALPHAPREMUL, err_out); } if (ibuf) { |