diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2016-02-13 22:58:15 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2016-02-15 15:00:55 +0100 |
commit | 5fce211a42f644b0b44ab7c20fa030465dfb1d98 (patch) | |
tree | cbc282844e15af0482263d31d6dbe50b98280109 | |
parent | bc67058d3934ccdbf636571a6f8838ab83ac7af2 (diff) | |
download | sciteco-5fce211a42f644b0b44ab7c20fa030465dfb1d98.tar.gz |
fixed segfaults due to missing undo restoration QReg argument variables
* test case: "@^Ua{eq.a$}Ma" and rubbing out until "}", reinserting it
* this means that probably a lot of rubout/reinsertion cases were
broken
-rw-r--r-- | src/qregisters.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qregisters.cpp b/src/qregisters.cpp index 995edb9..6be0469 100644 --- a/src/qregisters.cpp +++ b/src/qregisters.cpp @@ -969,7 +969,7 @@ State * StateEQCommand::got_register(QRegister *reg) { BEGIN_EXEC(&States::loadqreg); - register_argument = reg; + undo.push_var(register_argument) = reg; return &States::loadqreg; } @@ -1009,7 +1009,7 @@ State * StateEPctCommand::got_register(QRegister *reg) { BEGIN_EXEC(&States::saveqreg); - register_argument = reg; + undo.push_var(register_argument) = reg; return &States::saveqreg; } @@ -1141,7 +1141,7 @@ State * StateCtlUCommand::got_register(QRegister *reg) { BEGIN_EXEC(&States::setqregstring_nobuilding); - register_argument = reg; + undo.push_var(register_argument) = reg; return &States::setqregstring_nobuilding; } @@ -1159,7 +1159,7 @@ State * StateEUCommand::got_register(QRegister *reg) { BEGIN_EXEC(&States::setqregstring_building); - register_argument = reg; + undo.push_var(register_argument) = reg; return &States::setqregstring_building; } |