TextMetrics::getColumnNearX (x -> pos translation) has special code to
ignore spaces at the beginning of a row, but neither the display code
nor TextMetrics::cursorX (pos->x translation) follow this logic. One
might argue that spaces should actually be ignored (like LaTeX does),
but this leads to UI issues and is probably too difficult to
implement.
(cherry picked from commit bab58480bc)
http://marc.info/?l=lyx-devel&m=138590578911716&w=2
If you look at Buffer.cpp, around line 4351, there was a comment about bug 5699. We are seeing the
same crash. The problem is that, although the master does have a GUI, that GUI is in a different window. So the structureChanged() call we do during updateBuffer() is for the TOC in that window, not the TOC in the window we are actually in. So our TocModel::toc_ has been reset and is invalid, though the widget itself has not been updated and looks fine.
This patch tests whether the master is in the same window as the buffer we are updating.
A problem remains, which is noted in a comment.
(cherry picked from commit 3f62601a8f)
Conflicts:
src/Buffer.cpp
* add Xcode 5 support
* add Qt 5 support
* add _XOPEN_SOURCE define - needed to compile environment.cpp
* gettext library build included
* newer versions of 3rd party libraries
* change coding style of sub shell invocation
paper.cls formats the description label without bold, so LyX should do the
same on screen. Note that simply removing the Series line does not help,
because Description is already defined in some include.
This is the result of the discussion on the list "2.1.0 Blocker". Thanks to
all contributors!
The main idea is to use thread-local storage for all static variables.
This solution does not need any mutex. For more details, see the comment in
unicode.h.
The bug was introduced with commit [2af09e2e/lyxgit], where the unnecessary trailing bracket in CJK environments was suppresed, but not the preceding bracket (which is only output if CJK is a secondary language).