Commit Graph

32390 Commits

Author SHA1 Message Date
Georg Baum
d9e234b6da Fix LaTeXFeatures::useLayout() recursion test
It was broken in two ways: It was not threadsafe, and it did never detect
any recursion, since the counter was decremented for each non-recursive call
and never incremented again.
2014-07-07 22:16:13 +02:00
Georg Baum
29f6aebb3e Make LaTeX export threadsafe.
This is one of the more important threadsafety issues because of export in
thread and simultanous view source. The solution is ugly, but a better one
(see FIXME) would require major rework. These static variables should not
have been used in the first place IMHO.
2014-07-07 22:14:28 +02:00
Georg Baum
2fe650f77f Make BufferList::fileNames() threadsafe
Using a static variable here was premature optimization: fileNames() is only
called from GuiRef (directly or indirectly), and since this is a dialog the
copying of a FileNameList is not noticeable at all.
2014-07-07 22:05:10 +02:00
Georg Baum
fc3183a762 Make createBufferTmpDir() threadsafe
This must not use thread local storage, since the generated directories are
all in the same parent directory which is unique per running LyX instance.
2014-07-07 22:03:32 +02:00
Georg Baum
211e1661b5 Make DocFileName::mangledFileName() threadsafe 2014-07-07 22:01:58 +02:00
Georg Baum
7f1fa090e3 Make preview filename generation threadsafe
Threadsafety is ensured by the atomic file name generation in TempFile.
2014-07-07 21:58:24 +02:00
Georg Baum
ee145f2a74 Backport temp file changes from bf782ee
This is a tiny part of the commit which is needed for other thread-safety
fixes.
2014-07-07 21:56:36 +02:00
Georg Baum
9dae9a9d4f Make newUnnamedFile() threadsafe 2014-07-07 21:38:39 +02:00
Georg Baum
ac8fd45b44 Make BufferParams::auto_packages() threadsafe 2014-07-07 21:37:11 +02:00
Georg Baum
f4ed3dc6b5 Make include and bibitem insets threadsafe
Using a mutex to ensure that the generated filenames and ids are still unique.
2014-07-07 21:35:53 +02:00
Georg Baum
8fe58b90c2 Make Formats::isZippedFile() threadsafe
In this case I use a mutex, so the zip status of files is shared between
threads. This is possible because a deadlock can't happen, and it should give
better performance.
2014-07-07 21:34:54 +02:00
Georg Baum
f5cf3705d5 Make theWordList() thread safe.
Without this, you get crashes in a few second when you set the autosave
interval to one second and edit quickly (typing new words etc). The reason
is that the cloned buffer wants to insert words into the word list and
remove them again, but it lives in a different thread.
2014-07-06 18:12:57 +02:00
Georg Baum
e64954e7d3 Reset after 2.1.1 release 2014-07-06 18:02:56 +02:00
Richard Heck
e5ee9eea15 Start 2.1.2. 2014-07-06 15:30:17 +01:00
Richard Heck
fd819a405f Prepare for 2.1.1. 2014-07-02 16:29:58 -04:00
Richard Heck
0fe60a02dd Remerge strings. 2014-07-02 16:12:26 -04:00
Uwe Stöhr
0f1af6d190 fr.po: last minute changes from Jean-Pierre 2014-07-01 01:50:49 +02:00
Richard Heck
594fb59fbe The flush should be done on either branch.
(cherry picked from commit c2de96d2ed)
2014-06-29 15:49:59 -04:00
Enrico Forestieri
c5ca9b28bb Update it.po 2014-06-28 19:23:03 +02:00
Uwe Stöhr
68e1988432 fr.po: some more fixes from Ignacio 2014-06-27 00:54:53 +02:00
Kornel Benko
a96a5ca5c8 Cmake build: Added user choise of QT version to use.
To use Qt5 one has to configure with:
        cmake .... -DLYX_USE_QT=QT5
Default is QT4, so on systems without Qt4 the QT5 choice is mandatory.
2014-06-26 09:39:47 +02:00
Uwe Stöhr
d13650974b sv.po: translations for LyX 2.1.1 from Jim 2014-06-26 00:19:50 +02:00
Uwe Stöhr
6942797c33 fr.po: fix shortcut conflicts, patch from Jean-Pierre 2014-06-26 00:14:22 +02:00
Uwe Stöhr
34f6289ac2 es.po: translations from Ignacio 2014-06-21 01:40:07 +02:00
Uwe Stöhr
f1fa30ab83 fr.po: updates from Jean-Pierre 2014-06-21 01:24:51 +02:00
Uwe Stöhr
04254cd57f ja.po: updates for LyX 2.1.1 from Koji 2014-06-21 01:06:45 +02:00
Uwe Stöhr
ed504b28b8 uk.po: translations for LyX 2.1.1 from Yuri 2014-06-21 00:57:58 +02:00
Kornel Benko
b9b19ac2ba * sk.po: spellchecker changes 2014-06-18 16:18:13 +02:00
Richard Heck
12eb18c3e4 Restructure ANNOUCE file a bit. 2014-06-17 16:05:32 -04:00
Pavel Sanda
a0d16b8f7f Fix license string according to http://spdx.org/licenses/.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg184749.html
2014-06-17 09:52:19 -07:00
Richard Heck
116bbe11f1 Remerge strings. 2014-06-16 17:42:16 -04:00
Juergen Spitzmueller
ecb1ba910d de.po: update 2014-06-16 22:36:27 +02:00
Kornel Benko
1b04f90598 * sk.po, new strings 2014-06-16 17:59:56 +02:00
Richard Heck
e49f4124c7 Backup the existing LyX file before attempting to write the new one.
This avoids dataloss in case we are unable to write the new one after
all.

A more sophisticated approach, due to Georg, is in master, but it needs
more testing that it will be able to get before the release of 2.1.1.
That should be committed to 2.1.x when it is ready and this patch backed
out again.
2014-06-14 17:42:27 -04:00
Richard Heck
a72e68dd09 Revert "Use a different naming scheme, per Enrico's suggestion."
This reverts commit fff454fa4b.

Revert "Per a suggestion of JMarc's, first write the saved file to a"
This reverts commit 094129f804.
2014-06-14 17:42:26 -04:00
Peter Kümmel
2c50241da9 On Linux show in crash message box the backtrace 2014-06-14 11:29:22 +02:00
Uwe Stöhr
8fc774bb99 French Math.lyx: updates by Jean-Pierre 2014-06-13 01:26:06 +02:00
Uwe Stöhr
cc6144cdb4 French UserGuide.lyx: updates by Jean-Pierre 2014-06-13 01:09:10 +02:00
Uwe Stöhr
50a46cf8f9 fr.po: a fixed typo by Jan-Pierre 2014-06-13 00:44:11 +02:00
Uwe Stöhr
a8dcda1e6c ia.po: updates for 2.1.1 from Giovanni 2014-06-13 00:42:18 +02:00
Enrico Forestieri
32e42f2f81 Set the default locale at startup.
On startup, the default locale is "C", meaning that all system
functions assume an ascii codeset. The environment's locale
settings should be selected by calling setlocale(LC_ALL,"").
This is done by Qt during the QCoreApplication initialization
but this inizialization is never performed for batch processing
and, as a result, LyX is not able to process files whose names
contain non-ascii characters. This is not an issue on Windows,
where the file names are always stored as UTF-16, so the call is
only performed for unix-like platforms (this also includes cygwin,
due to its own filenames management that allows using characters
which are forbidden to native programs).
2014-06-11 19:08:44 +02:00
Enrico Forestieri
970da7c5e2 Fix bug #9153 (Using mathpanel to insert matrix creates extra space on top)
The code was setting the current index before filling the
combo box items.
2014-06-08 23:59:59 +02:00
Jean-Marc Lasgouttes
3544ce4a4e Fix crash when accepting change
The problem is the use of cursor movement methods to update cursor.
Cursor::forwardPos() steps into insets, which is not always what we
want. The problem here is that there is a math inset just after the
accepted change, and that the cursor steps into it for some reason.

This code is a nightmare anyway.

Fixes: bug #9145
2014-06-05 12:51:40 +02:00
Richard Heck
fff454fa4b Use a different naming scheme, per Enrico's suggestion.
(cherry picked from commit 533a05e0b8)
2014-06-04 12:47:37 -04:00
Richard Heck
b9db0c1321 Flush stream more often to help figure out where the mystery crash
originates.
(cherry picked from commit 5536b0c7fe)
2014-06-04 09:22:21 -04:00
Richard Heck
8615003fd9 Update ANNOUNCE file. 2014-06-04 09:07:37 -04:00
Kornel Benko
e75595c1b1 * sk.po 2014-06-04 12:29:08 +02:00
Jean-Marc Lasgouttes
d4faf127d7 Make TextMetrics::editXY more robust
This fixes a crash in examples/fa/splash.lyx when selecting text
representing menu entries. This happens because menu names are in LTR
English, while the inset itself is in RTL.

The problem is that the current code relies on the fact that
 1. getColumnNearX and checkInsetHit share the same idea about cursor
    position.
 2. pos and pos + 1 are in general consecutive on screen.

It seems that 1. is wrong here (for reasons I did not try to
understand); the second assumption is definitely false with
bi-directional text. This makes editXY very fragile.

The new code should be more robust in this respect. The logic is:
 * if checkInsetHit finds an inset, use its position,
 * otherwise, ask getColumnNearX for the cursor position.

Fixes: #9142
2014-06-04 12:17:01 +02:00
Juergen Spitzmueller
8669088b71 de.po: update 2014-06-04 10:39:14 +02:00
Uwe Stöhr
aa6a4c818d fr.po: updates for 2.1.1 from Jean-Pierre 2014-06-04 02:52:44 +02:00