]> git.lyx.org Git - features.git/commit
Handle properly undo groups in embedded work areas
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Wed, 13 Dec 2017 09:38:47 +0000 (10:38 +0100)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Sat, 23 Dec 2017 18:35:17 +0000 (19:35 +0100)
commit02b248d2708a412ac855b73925a676eb9f0c3b20
tree3eec04338a1633c057980e9e94daf3de0dd2b564
parentcdf84eabc4dc45cff6eab9a8085322efbef517c3
Handle properly undo groups in embedded work areas

When a buffer is in an embedded work area (adv. find&replace), it is
not found by BufferList:::exists(), and therefore the undo group
created in GuiApplication::dispatch and in the handling of
LFUN_COMMAND_SEQUENCE will not be closed. Crashes can ensue, as
described in Ubuntu bug:
https://bugs.launchpad.net/bugs/1737429

The solution is to introduce BufferList::isInternal and act on it.

Fixes bug #10847.

(cherry picked from commit 8b107f0490e61b4390e925f08d21661ef50d6f49)
src/BufferList.cpp
src/BufferList.h
src/Undo.cpp
src/frontends/qt4/GuiApplication.cpp
status.22x