]> 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:21:12 +0000 (19:21 +0100)
commit87d291ee237cd24419ced6237b52518a53a4f474
treefd6482f288dc8eb9e1bf38bcfc4d18bccf8d220c
parent9e9f4b3288e5433f7dec64a8d3d083db3070ce58
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