diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-10-22 07:13:43 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-10-22 07:13:43 +0300 |
commit | 84eff5c1269f18b063d6b5637efe90f78958cc62 (patch) | |
tree | c2b1035ff71970640dd32277bbd48b59ab03e2c7 /source/blender/windowmanager/intern/wm_files.c | |
parent | 71466cac1efae5e942596ec25c8787478f8356b0 (diff) | |
parent | 24162c977c2aac79690fa421289a146c0f2677c8 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/windowmanager/intern/wm_files.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 7d3599b2f11..2283ae0118b 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -1187,12 +1187,12 @@ bool write_crash_blend(void) /** * \see #wm_homefile_write_exec wraps #BLO_write_file in a similar way. */ -static int wm_file_write(bContext *C, const char *filepath, int fileflags, ReportList *reports) +static bool wm_file_write(bContext *C, const char *filepath, int fileflags, ReportList *reports) { Main *bmain = CTX_data_main(C); Library *li; int len; - int ret = -1; + int ok = false; BlendThumbnail *thumb, *main_thumb; ImBuf *ibuf_thumb = NULL; @@ -1200,18 +1200,18 @@ static int wm_file_write(bContext *C, const char *filepath, int fileflags, Repor if (len == 0) { BKE_report(reports, RPT_ERROR, "Path is empty, cannot save"); - return ret; + return ok; } if (len >= FILE_MAX) { BKE_report(reports, RPT_ERROR, "Path too long, cannot save"); - return ret; + return ok; } /* Check if file write permission is ok */ if (BLI_exists(filepath) && !BLI_file_is_writable(filepath)) { BKE_reportf(reports, RPT_ERROR, "Cannot save blend file, path '%s' is not writable", filepath); - return ret; + return ok; } /* note: used to replace the file extension (to ensure '.blend'), @@ -1222,7 +1222,7 @@ static int wm_file_write(bContext *C, const char *filepath, int fileflags, Repor for (li = bmain->library.first; li; li = li->id.next) { if (BLI_path_cmp(li->filepath, filepath) == 0) { BKE_reportf(reports, RPT_ERROR, "Cannot overwrite used library '%.240s'", filepath); - return ret; + return ok; } } @@ -1284,7 +1284,8 @@ static int wm_file_write(bContext *C, const char *filepath, int fileflags, Repor ibuf_thumb = IMB_thumb_create(filepath, THB_LARGE, THB_SOURCE_BLEND, ibuf_thumb); } - ret = 0; /* Success. */ + /* Success. */ + ok = true; } if (ibuf_thumb) { @@ -1296,7 +1297,7 @@ static int wm_file_write(bContext *C, const char *filepath, int fileflags, Repor WM_cursor_wait(0); - return ret; + return ok; } /************************ autosave ****************************/ @@ -1473,6 +1474,7 @@ void WM_file_tag_modified(void) /** * \see #wm_file_write wraps #BLO_write_file in a similar way. + * \return success. */ static int wm_homefile_write_exec(bContext *C, wmOperator *op) { @@ -2166,7 +2168,6 @@ static int wm_save_as_mainfile_exec(bContext *C, wmOperator *op) { Main *bmain = CTX_data_main(C); char path[FILE_MAX]; - int fileflags, orig_fileflags; const bool is_save_as = (op->type->invoke == wm_save_as_mainfile_invoke); save_set_compress(op); @@ -2179,8 +2180,8 @@ static int wm_save_as_mainfile_exec(bContext *C, wmOperator *op) wm_filepath_default(path); } - orig_fileflags = G.fileflags; - fileflags = G.fileflags & ~G_FILE_USERPREFS; + const int fileflags_orig = G.fileflags; + int fileflags = G.fileflags & ~G_FILE_USERPREFS; /* set compression flag */ SET_FLAG_FROM_TEST( @@ -2195,16 +2196,16 @@ static int wm_save_as_mainfile_exec(bContext *C, wmOperator *op) RNA_boolean_get(op->ptr, "copy")), G_FILE_SAVE_COPY); - int write_result = wm_file_write(C, path, fileflags, op->reports); + const bool ok = wm_file_write(C, path, fileflags, op->reports); if ((op->flag & OP_IS_INVOKE) == 0) { /* OP_IS_INVOKE is set when the operator is called from the GUI. * If it is not set, the operator is called from a script and * shouldn't influence G.fileflags. */ - G.fileflags = orig_fileflags; + G.fileflags = fileflags_orig; } - if (write_result != 0) { + if (ok == false) { return OPERATOR_CANCELLED; } |