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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-04-15 11:34:41 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-04-15 11:34:41 +0300
commitfb3528d088709e8221496efaa57522b1406f4ca8 (patch)
tree4c75dbe9b0dc409ac0fc3c80c187021d100ea911 /source
parent87a9b6ac06367622c10fde69c1fbbc6a67dbe5c7 (diff)
Fix T54593: Py text edits crash (undo regression)
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/text.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index c7588a4ed48..212a9c86613 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -526,29 +526,26 @@ void BKE_text_make_local(Main *bmain, Text *text, const bool lib_local)
void BKE_text_clear(Text *text, TextUndoBuf *utxt) /* called directly from rna */
{
- int oldstate;
-
- if (utxt) {
- oldstate = txt_get_undostate();
- }
- txt_set_undostate(utxt != NULL);
+ const bool undostate_orig = txt_get_undostate();
+ txt_set_undostate(utxt == NULL);
txt_sel_all(text);
txt_delete_sel(text, utxt);
- txt_set_undostate(oldstate);
+ txt_set_undostate(undostate_orig);
txt_make_dirty(text);
}
void BKE_text_write(Text *text, TextUndoBuf *utxt, const char *str) /* called directly from rna */
{
- int oldstate;
+ const bool undostate_orig = txt_get_undostate();
+ txt_set_undostate(utxt == NULL);
- oldstate = txt_get_undostate();
txt_insert_buf(text, utxt, str);
txt_move_eof(text, 0);
- txt_set_undostate(oldstate);
+
+ txt_set_undostate(undostate_orig);
txt_make_dirty(text);
}