diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-15 11:34:41 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-15 11:34:41 +0300 |
commit | fb3528d088709e8221496efaa57522b1406f4ca8 (patch) | |
tree | 4c75dbe9b0dc409ac0fc3c80c187021d100ea911 /source/blender/blenkernel | |
parent | 87a9b6ac06367622c10fde69c1fbbc6a67dbe5c7 (diff) |
Fix T54593: Py text edits crash (undo regression)
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/text.c | 17 |
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); } |