This bug is related to the fact that the cusor remember the current font.
The on-the-fly spell status should really not be kept in the Font object, but
rather in metrics, IMO.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35041 a592a061-630c-0410-9148-cb99ea01b6c8
DispatchResult to store a flag that tells us whether we need a buffer
update or not.
So: If you find a missing one, go to an appropriate place in the
dispatch and call cur.forceBufferUpdate() or, if you don't have a cursor
but do have a DispatchResult, call dr.forceBufferUpdate().
There is one remaining call I could not move, in
TextMetrics::redoParagraph. But this looks like an emergency call when
the macro context has not been set. There are also a couple calls that
are connected with buffer creation that I commented out, since the same
call is done again almost immediately. But I'm not positive about those.
Now the nice thing would be to do the same for updateMacros().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34826 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: don't use boost::bind for msvc10 (could also be extended to several GCC versions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34257 a592a061-630c-0410-9148-cb99ea01b6c8
a lot of simplification is possible. Except some instability period...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33389 a592a061-630c-0410-9148-cb99ea01b6c8
This required to make Cursor::disp_ mutable.
Also, the server parts now pass a DispatchResult object to dispatch (which is
a good thing anyway).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33259 a592a061-630c-0410-9148-cb99ea01b6c8
This fixes bug #1560.
The diverse setBuffer / updateLabels calls need auditing. See FIXMEs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33249 a592a061-630c-0410-9148-cb99ea01b6c8
If we check whether a cursor is valid, we should also check the anchor_.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33012 a592a061-630c-0410-9148-cb99ea01b6c8
Set the boundary member correctly when the cursor goes to an 'empty' row.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32034 a592a061-630c-0410-9148-cb99ea01b6c8
pasting a macro inside another math inset (such as \text or \hat). In
this case the buffer would not be set and getMacro() cannot be called,
such that an "internal" macro would still shadow an user defined one.
This kind of fix is now easy after Abdel's overhaul.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31998 a592a061-630c-0410-9148-cb99ea01b6c8
Move the AtPoint handling into the Cursor dispatch machinery
Note that the call to Cursor::getStatus is in BufferView::getStatus, while
the call to Cursor::dispatch is still in LyXFunc::dispatch. This needs to be
fixed, but the code there is a bit fragile.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31969 a592a061-630c-0410-9148-cb99ea01b6c8
Math manual loads and save correctly it seems but expect some instability period.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31898 a592a061-630c-0410-9148-cb99ea01b6c8
This patch initializes the buffer_ member of a MathHull inset in most
(but not all) cases. The problems with buffer_ should be greatly
allievated now, but there still can be some corner case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31873 a592a061-630c-0410-9148-cb99ea01b6c8
defined macros, so better use a brace inset only when strictly needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31789 a592a061-630c-0410-9148-cb99ea01b6c8
* MathStream{.cpp, h}:
- replace bool dryrun() by enum output that also knows whether the stream is for instant preview
* InsetMathHull.cpp:
- tell the stream whether we use it for instant preview.
* MathString.cpp (write):
- gracefully catch encoding exception for instant preview.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30895 a592a061-630c-0410-9148-cb99ea01b6c8
6047: Lyx 1.6.3 unable to typeset the third chemical equation of the
file mhchem.lyx (package mhchem)
4043: mhchem support
5394: support for the mhchems's \ce command
The \ce and \cf insets are text mode environments that allow entering
spaces and mathmode commands. LyX leaves them alone and doesn't try to
be smart, i.e., the behaviour is exactly the same we had in the old days
with text-in-math mode environments, before the introduction of the
\ensuremath and \lyxmathsym macros. This means that in those environments
one has to know what he is doing, as LyX will not offer any protection.
The hack of enclosing \ce and \cf in a \text{} environment in order to
be able to enter spaces is no longer necessary.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30338 a592a061-630c-0410-9148-cb99ea01b6c8
LyX crashes when backward selecting during formula writing
The problem is basically that the anchor is not set (because there is no
selection going on) and BufferView::mouseSetCursor does not handle this.
* Cursor.cpp (anchor): return immediately when there is no selection.
* BufferView.cpp (mouseSetCursor): reset anchor before setting cursor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30245 a592a061-630c-0410-9148-cb99ea01b6c8
Revert the previous fix and fix the DEPM regression.
This reverts r28910.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29248 a592a061-630c-0410-9148-cb99ea01b6c8
Make sure we jump to the next or previous change when we switch search direction. Without this patch, the same Change will be found and only the cursor is moved from the end (or begin) to the begin (or end) of the selection.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29115 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=5435
The code for this was already present, but was never reached.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28910 a592a061-630c-0410-9148-cb99ea01b6c8
[visual cursor] Crash when cutting a figure caption and moving the cursor.
Avoid negative positions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28629 a592a061-630c-0410-9148-cb99ea01b6c8