From 5fce211a42f644b0b44ab7c20fa030465dfb1d98 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sat, 13 Feb 2016 22:58:15 +0100 Subject: 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 --- src/qregisters.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3