Commit Graph

36032 Commits

Author SHA1 Message Date
Enrico Forestieri
054b7c68a4 Speed up exit time
Instantiating a single QSettings and using it for each ui element
can significantly shorten the time required to save the various
states at exit. The speed up can be better appreciated on *nix,
where the settings are saved on disk, rather than on Windows where
they are held in memory (in the registry).
2017-10-18 22:11:56 +02:00
Richard Heck
74dbfc1b1b Revert "Fix bug #8782."
This reverts commit de2a58d986.
2017-10-15 20:57:15 -04:00
Stephan Witt
f15b3827ea Address bugs #10285 and #10542.
Add sips as a fallback converter for Mac to provide preview of PDF graphics in LyX when pdftops is not installed.

(cherry picked from commit c592fb58bb)
2017-10-15 13:16:52 -04:00
Richard Heck
de2a58d986 Fix bug #8782.
We need to invalidate the BibTeX cache when undoing or redoing. I do
not like having to do it for every undo or redo. We should only have
to do it if we restored or deleted an InsetBibTeX. But there is no
way, so far as I can see, to do it that way. I tried.

(cherry picked from commit 02847641a8)
2017-10-15 12:16:34 -04:00
Enrico Forestieri
11d6816330 Backport fix for #9778.
From Enrico.
2017-10-15 12:15:52 -04:00
Uwe Stöhr
22ff59c9ca Win installer. update Qt
- Qt 5.6.3 uses a different path name scheme
- one DLL as removed in Qt 5.6.3
2017-10-15 16:41:50 +02:00
Stephan Witt
108deae543 This change solves dialog stacking problems on newer Mac OS X in combination with the OS provided file open dialog.
(cherry picked from commit 97dc585138)
(cherry picked from commit 1460e8fe6f)
2017-10-14 17:58:10 +02:00
Juergen Spitzmueller
5ba05b546b Do not error on missing ZWNJ (ligature break) characters.
Since TeXLive 2016, "fontspec" maps the ligature break command
\textcompwordmark to the ZWNJ character (U+200C).
This character is missing in many fonts (including the default: Latin
Modern) which leads to "Missing character" warnings in the XeTeX/LuaTeX
log file if a document using non-TeX fonts contains a ligature break.

LyX reports missing characters as error since fixing #9610.
In case of "invisible" characters, there is no data loss, in case of the
ZWNJ the functionality is kept: ligatures are prevented also if the ZWNJ
is missing in a font.

Therefore, a missing ZWNJ is now treated similar to missing characters
in "nullfont" (see [63f41711/lyxgit], bug #10394) and does not trigger
an error.

Fixes: #10727
(cherry picked from commit a40868510d)
2017-10-14 17:52:42 +02:00
Juergen Spitzmueller
cd626c2411 Fix PDF output of clipped graphics with recent graphics package
The previous redirection of the senseless option "bb" to "viewport" in
PDFLaTeX output has been removed in a recent graphics package update.

This breaks documents, since clipped graphics silently stop displaying.

This change restores the previous output by using "viewport" instaed of
"bb" for non-PS/DVI output, while leaving PS/DVI untouched (where "bb"
and "viewport" behave differently.

Fixes: #7910
2017-10-13 08:31:37 +02:00
Kornel Benko
10002fe436 Cmake build: Needed variable for creation of debian package
The variable CPACK_DEBIAN_PACKAGE_RELEASE has to be in the form
of "^[A-Za-z0-9.+~]+$". We will use the abbreviated commit revision for now.
Without this change cmake 3.10 emits error.

(cherry picked from commit 847c68960a)
2017-10-09 10:05:42 +02:00
Richard Heck
6d11663090 Reset cursor before beginning reload sequence.
(cherry picked from commit af381a2fb2)
2017-10-08 23:08:05 -04:00
Uwe Stöhr
8631fa68a5 Win installer: update to Python 2.7.14 for LyX 2.2.4 2017-10-01 23:21:38 +02:00
Juergen Spitzmueller
7b41d977ad Fix crash when closing master with children and grandchildren
In some cases, it is possible that the BufferPositionMap has
dangling pointers. We thus check whether the Buffer is loaded
before accessing it.

Fixes: #10766
(cherry picked from commit 4f50cbcfe4)
2017-09-28 09:24:58 +02:00
jpc
1d55d8cd25 Update status.ééx 2017-09-26 18:21:23 +02:00
jpc
a2fe1ec8b9 Shortcut conflicts removed in fr.po 2017-09-22 22:31:30 +02:00
Uwe Stöhr
ca999d76a1 Customization.lyx: fix a typo 2017-09-11 21:19:38 +02:00
Jean-Marc Lasgouttes
4db40b11af Use the proper buffer when recording undo
The code in InsetLabel::updateReferences code changes reference insets
in potentially several buffers. When recording undo, it is important
to use the right undo stack, otherwise crashes can ensue.

Once it is done, it is neccessary to create undo groups as needed.
This is done using UndoGroupHelper. This demonstrates a shortcoming of
UndoGroupHelper: if a buffer is encountered in two seperate
occasions, two undo groups will be created for this buffer. This is
not correct.

Fixes bug #10643.

(cherry picked from commit 4eb9b50dc6)
2017-09-03 18:35:37 +02:00
Jean-Marc Lasgouttes
8ff22de938 When a row is shortened, reset its flushed() attribute.
Fixes bug #10699.

(cherry picked from commit 59e2c40564)
2017-09-03 18:34:01 +02:00
Jean-Marc Lasgouttes
48904cc5a1 Fix computation of string width when using a QTextLayout
It was not a good idea to rely on QTextLine::naturalTextWidth() to
compute a string width. The correct method is horizontalAdvance().

Also round the value to the nearest pixel, since this is what
QFontMetrics::width() does.

By contrast with the code in 2.3.x/master, this code had to be adapted
for Qt < 4.7, where horizontalAdvance() is not defined and
naturalTextWidth() has to be used instead. The fix is thus only
effective starting from Qt 4.7.

Fixes bug #10700 (and maybe others).

(cherry picked from commit c874641e95)
2017-08-29 15:15:39 +02:00
Jean-Marc Lasgouttes
6b0509da0c Small update to README 2017-08-29 12:20:07 +02:00
Juergen Spitzmueller
86e54f6cc7 Babel option for Vietnamese is called "vietnamese"
The renaming happened in 2013. Contrary to what is stated in the
babel-vietnamese manual, option "vietnam" does not work anymore.

Also, the special care is not needed anymore, since language options
are not hardcoded anymore in babel.

Fixes: #10743
2017-08-13 18:43:26 +02:00
Juergen Spitzmueller
f1428488b1 Add missing break
As correctly pointed out by gcc7.
2017-08-13 09:32:51 +02:00
Uwe Stöhr
4cb45dfffe Win installer: check for a package that LyX uses for instant preview 2017-08-05 20:27:01 +02:00
Uwe Stöhr
8f476415ea status.22x: move crash fixes up
- also correct a bug number
2017-07-26 01:32:36 +02:00
Juergen Spitzmueller
5eda278c80 Properly import \newtheorem*
Fixes: #10622
2017-07-25 18:28:47 +02:00
Uwe Stöhr
ef5ff9f43e Win installer: prepare for a new 2.2.4 release 2017-07-25 00:33:04 +02:00
Jean-Marc Lasgouttes
e4aba6e17c When cleaning up before quitting, take care of exceptions
We do not want the cleanup work to be interrupted by a buffer exception.

Spotted by coverity. See bug #9979 for discussion.

(cherry picked from commit 0d565f7b35)
2017-07-17 10:49:50 +02:00
Jean-Marc Lasgouttes
311a40747e Remove test that is not needed.
We know that buf is not null at this point.

Spotted by coverity.
2017-07-17 10:39:09 +02:00
Juergen Spitzmueller
f61e88b7dd Update parent buffer as soon as a child has been released
This prevents dangling pointers that might crash LyX.

Fixes: #9979.
2017-07-17 10:34:58 +02:00
Jean-Marc Lasgouttes
e5105a0dce Do not use toobar menu as fallback context menu
This is a consequence of 060a9664, although it is not clear why. The
contextMenuEvent code of the workarea should not delegate context
menu when it cannot honor it.

Also fix a small memory leak.

Fixes bug #10616.

(cherry picked from commit ab81c23656)
2017-07-15 16:21:41 +02:00
Juergen Spitzmueller
476705ba76 Load color before polyglossia also in preview snippets
This fixes an error in the preview generation with polyglossia
and bidi that prevents snippet generation (and consequently also
"math as image" xhtml output).

Fixes: #10716.
2017-07-15 15:05:34 +02:00
Enrico Forestieri
0237292eb1 Fix bug #10546
A labeled equation is also numbered.
2017-07-09 23:31:33 +02:00
Jean-Marc Lasgouttes
4fbb0f1770 Avoid crash when selecting long text
In some (not yet understood) situations, the paragraph metrics cache
is empty in generateSyntheticMouseEvent(). We just avoid a crash in
this case, but there is probably an underlying problem that deserves
being fixed.

Fixes bug #10324.

(cherry picked from commit 4efb129ccb)
2017-07-05 10:59:26 +02:00
Juergen Spitzmueller
9c0dd478df Catch xdvipdfmx driver error (that breaks XeTeX compilation).
This prevents an assertion due to an unrecognized error.

Fixes: #10076.
2017-07-04 10:48:45 +02:00
Juergen Spitzmueller
678f3e7589 natbibapa.module: Do not overwrite preamble.
Also add author information.
2017-07-03 16:28:40 +02:00
Jean-Marc Lasgouttes
869174e295 Fixup the fixup 4499680b: use editable()/isActive()
While 1c07c0dc was too strong and broke mathed, 4499680b is too
lenient and can accept insets (mathed/CommandInset, InsetInfo) that
have a positive nargs() but are not editable (because they encapsulate
something).

Therefore the best solution for now is to use editable() in text and
isActive() in mathed, until those two things are merged.

Part of #10667.

(cherry picked from commit 13c3c1485b)
2017-07-03 11:59:24 +02:00
Enrico Forestieri
68bc505029 Fix bug #10705
Seemingly, std::regex does not account for newlines in the string.
2017-06-26 23:10:30 +02:00
Jean-Marc Lasgouttes
4499680bd9 Fixup 1c07c0dc: editable() is unusable in mathed
This is a relic from IU (Inset Unification): editable() is for text
insets and isActive() for mathed. This needs to be cleaned up.

Part of bug #10667.

(cherry picked from commit d0acc3e570)
2017-06-20 09:52:21 +02:00
Guillaume MM
ba5e8c443e Fix crash with full view source (#10560 and #10617) 2017-06-17 20:05:59 +02:00
Jean-Marc Lasgouttes
1c07c0dc38 Make fixIfBroken() more robust
Chop slice when its inset is not editable.

Fixes bug #10667.

(cherry picked from commit 522516d99e)
2017-06-17 13:07:36 +02:00
Juergen Spitzmueller
f7aabdd9fa Catch "! Incomplete \\if[x]" error
Fixes: #10666
2017-06-16 10:05:12 +02:00
Jean-Marc Lasgouttes
5f08a1b41d When entering an inset by cursor, reset boundary
This happens when cursor-left/right enters an inset.

Fixes bug #10630.

(cherry picked from commit 2e84b8030e)
2017-06-15 10:31:14 +02:00
Jean-Marc Lasgouttes
c492f22593 Set cursor properly after double/triple click in mathed
Without this setCurrentFont() is not correctly called on the
BufferView cursor and the cursor could appear in L-form.

Fixes bug #10686.

(cherry picked from commit 5d7dae9e38)
2017-06-15 10:21:18 +02:00
Jean-Marc Lasgouttes
8fef81a373 Avoid rounding issue when painting selection
This issue was already addressed in the all_sel case. It only happens
at specific zoom and jusification values.

Fixes part of #8883.

(cherry picked from commit 71563835c7)
2017-06-12 14:47:32 +02:00
Jean-Marc Lasgouttes
04efc84abc Fix bad cursor positioning when entering an inset
The test added at 359aef92 was incorrect. Actually, Inset::editXY
returns the inset when it is edited and also when it is not, which
can be confusing. So if we are unlucky and the slices positions in the
text area and in the inner inset match, the code below triggers and
many bad things can happen.

Also improve the documentation of Inset::editXY and TextMetrics::editXY.

Fixes #10691.

(cherry picked from commit c9fefd5a2c)
2017-06-12 13:57:46 +02:00
Richard Heck
42facddf55 Early updates to ANNOUNCE in preparation for 2.2.4. 2017-06-07 14:57:39 -04:00
Uwe Stöhr
8429a27494 ja.po: updates from Koji 2017-06-06 23:35:33 +02:00
Richard Heck
703da4ebe3 Remerge strings. 2017-06-06 16:42:11 -04:00
Enrico Forestieri
d738151a9b Fix bug #10685
Make sure to properly nest \begin{lang} and \end{lang} tags even
when no language package is selected. In this case, LyX assumes
that babel is being used, so the language names might be wrong
if the user arranged for using polyglossia in the preamble.
Nevertheless, we assure that the produced output is syntactically
correct, so that by adding proper preamble code a correct output
is still possible.
2017-06-06 00:01:14 +02:00
Enrico Forestieri
59c22bd7b6 Fix bugs #9598 and #10650 2017-06-05 23:14:48 +02:00