A brand new event compressor based on Kuba Ober's cleverly simple
solution: <https://stackoverflow.com/a/21006207>.
Fix#9362, #9461, #9933: Lyx suddenly gets keyboard keys wrong, and
deadlocks
Fix#9790: LyX should perform key event compression (for improving the
remote X connections one would also need to implement
Qt::WA_KeyCompression)
Fix#10516: slowness on repeated arrow keys with IBus and Qt5
Patch pulled from
https://github.com/gadmm/lyx-unstable/commit/bf5a1efb0db5bfc2b
Signed-off-by: Juergen Spitzmueller <spitz@lyx.org>
(cherry picked from commit 43e4b8073445d147be353013e3a7e081e11653ba)
This works around a TextMetrics issue where Row::beg/end_margin_sel
are sometimes not reset correctly when there is no selection on the
row.
In master a fix for this problem has been done at 654cded1. Here we
prefer a much simpler work around that fixes the symptom.
Fixes bug #10972.
At some time it seemed like a good idea in breakRow() to return early
when the row was bound to be empty. It turns out that this creates two
symptoms:
* empty paragraphs will not have an end of paragraph marker
* since row width is not correctly computed in this case, caret ghosts
can appear in master.
This commit removes the oprimization and replace the do {} while()
construct to a straightforward while() {}.
Related to bug #10952.
(cherry picked from commit 76f0a3dd4ee5c7958c6dea79628ef8c2ac2c59bd)
This gives a more consistent indication of what belongs to an environment
(and semantically, such paragraphs are synonymous to nested standard
paragraphs)
Addresses part of #9261.
This is important for info inset, since if updateBuffer needs to be
run in redoParagraph (for the macro code), crashes can happen.
Fixes bug #10944.
(cherry picked from commit 806f40dbd4e861e3def104f26a8b70ed8c3ba386)
Possibility to add an environment before the current one and to append
and environment from outside the nesting scope.
This commit includes all fixes that went in during testing these
functions in master. It also moves the menu items from Edit to Insert.
Now layouts can specify other layouts that should be nested in and
after the current one (if the layout is switched from the current one
and if it follows a paragraph in the current one).
This is particularly useful for things such as the beamer frames, where
particular layouts are practically always nested.
This is a backport from master, including all fixes.
These classes come with their own working implementation of table
footnotes, so we are not supposed to use the tablefootnote or
footnote package.
Also add missing outliner name.
(cherry picked from commit dfaa4e9466fd0e5bf22bf55965a26e86a767cfa7)
By default, inactive math corners are invisible. In practice they are
annoying because they are visible when selecting text, and they can
also overwrite some parts of the equation.
The code in Inset::drawMarkers2, which is only used for maths, is
moved to InsetMathHull. Moreover, the inactive corners are not drawn
when they have the same color as the math background. A better way to
achieve this would be to set the color to transparent, but we do not
support this yet.
(cherry picked from commit 68614e9783382b6267fc9ce32ed45bc2477007dd)
This spacing was wrongly removed at 361bd53b as part of the
introduction of proper spacing between elements, but it only introduces
some breathing space around the delimiters. This will not be necessary
anymore when/if we use proper delimiters from the cmex10 font.
(cherry picked from commit 4cb5cc0c7de7cb5dbaaf14328e5a82e1cfe5a6ca)
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)
This had the effect that for file dialogs supposed to use two buttons,
only the second one was displayed, while file dialogs supposed to use
one button did not have a button at all.
Candidate for 2.3.x and 2.2.x.
(cherry picked from commit 74607702a585fd68bdf6b9cda668421a4ed06f3e)
Babel falls back to OT1 in these cases, which gives wrong output got the
guillemots
Fixes: #10947
(cherry picked from commit 64b94f81be52de33553cda5db85d824de2119a3c)
LaTeX only breaks after dashes (even though unicode suggests optional
line breaks also before em dashes).
(cherry picked from commit 1371dbb24063b613cb8914a521b90a47d74f0472)
In the long run, proper longtable rotation via [pdf]lscape should
be implemented.
See #9194
(cherry picked from commit 84f7dafe891483e0314e2a08c0ddd8cf0063902d)
This fixes a crash when changing instant preview prefs while
document with previewed external inset is opened.
Fixes: #10785
(cherry picked from commit 0842e22f4551e84dbf24259c65994c760fc22925)
When using CJK, don't try to close a language that was never
opened before, such as when it is the main language.
(cherry picked from commit 7e51b5f30196fa0679a7c3c32dc75bca91520f32)
- If a display math not starting a new paragraph is deleted, the
current \lyxdeleted macro (if any) must be closed and a new one
started, otherwise the display math will be shifted up.
- Use \linewidth instead of \columnwidth because the former will adapt
to the reduced horizontal width in list environments, avoiding shifting
to the right the diplay math.
(cherry picked from commit 7f23ca912c5e92bf30bdc05b6d801082f6643e8e)