lyx_mirror/src
Jean-Marc Lasgouttes 91b385166d Do not use a static variable as QTextLayout cache
It is a bad idea to have a QObject variable that oulives the main QApplication object. See for example:
https://www.ics.com/designpatterns/book/globals.html

Here the QTextLayout object was static to the anonymous namespace getTextLayout function, and got destroyed after the freetype renderer had been disposed of by QApplication.

This causes segmentation faults when quitting LyX on some systems.

This patch moves the cache together with other GuiFontMetrics caches. It means that one will have one such QTextLayout per font type, but this will not change much.
2015-12-16 10:34:43 +01:00
..
client Cmake monolithic build: Some corrections. 2015-11-17 21:21:00 +01:00
frontends Do not use a static variable as QTextLayout cache 2015-12-16 10:34:43 +01:00
graphics Fix bug ##9627: Make the document name available to preview insets 2015-11-04 00:36:41 +01:00
insets Layout format update: AddToToc, IsTocCaption, OutlinerName 2015-12-13 19:56:49 +00:00
mathed Use AMS align instead of eqnarray on newline-insert by default (#2543) 2015-12-11 19:28:32 +00:00
support Convert remaining C++ files to UTF-8 2015-12-05 19:33:24 +00:00
tests Removed doubled code in CMakeLists.txt 2015-11-22 19:20:32 +01:00
tex2lyx Inset files: add includes to compile with cxx11 2015-12-10 01:15:16 +01:00
.gitignore Setup .gitignore for generated files 2012-03-22 02:16:12 +01:00
AppleSpellChecker.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
AppleSpellChecker.h Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
AspellChecker.cpp Fix "dead store" warnings of Xcode analyze tool 2015-10-09 08:16:23 +02:00
AspellChecker.h Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Author.cpp Remove trailing space at the end of \author 2015-11-18 02:50:25 +00:00
Author.h Fix bug #9854 "Dataloss after git merge with change tracking" 2015-11-18 02:50:25 +00:00
BiblioInfo.cpp Consistency of ellipses across the UI 2015-10-05 21:16:16 +01:00
BiblioInfo.h Make BiblioInfo::collectCitedEntries private (since it can be), 2014-08-22 11:18:10 -04:00
boost.cpp
Box.cpp
Box.h
BranchList.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
BranchList.h
buffer_funcs.cpp Make newUnnamedFile() threadsafe 2014-07-05 12:58:22 +02:00
buffer_funcs.h #7789 unify and fix buffer statistics 2012-01-12 07:03:24 +00:00
Buffer.cpp We need to show the error message in the case in which we copied the 2015-11-15 12:32:26 -05:00
Buffer.h Simplify use of Buffer::getBackupName(). 2015-11-15 12:19:17 -05:00
BufferEncodings.cpp Encodings: Make members of CharInfo private 2013-09-29 15:26:20 +02:00
BufferEncodings.h Encodings: Split off the functions that need Buffer 2013-09-29 15:26:18 +02:00
BufferList.cpp Update previews when turned on in prefs (#9507) 2015-11-30 18:51:05 -05:00
BufferList.h Update previews when turned on in prefs (#9507) 2015-11-30 18:51:05 -05:00
BufferParams.cpp \origin handling. Use realPath() intead of absFileName() 2015-12-13 12:25:32 +01:00
BufferParams.h Fix bug #9854 "Dataloss after git merge with change tracking" 2015-11-18 02:50:25 +00:00
BufferView.cpp Make text margin size dependent on zoom and dpi 2015-12-11 12:26:07 +01:00
BufferView.h Fix wrong reset of horizontal scolling of current row 2015-11-02 11:11:39 +01:00
Bullet.cpp Audit all the LASSERT calls, and try to do something sensible at 2013-04-25 17:27:10 -04:00
Bullet.h
Changes.cpp Simplify Unicode symbols for old systems 2015-12-04 17:29:39 +00:00
Changes.h Move otexstream out of support 2015-01-09 21:07:59 +01:00
Chktex.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Chktex.h
Citation.h New \cite_engine_type default. 2013-05-16 20:39:23 +02:00
CMakeLists.txt integrate 3rdparty libs 2015-12-15 13:20:10 +01:00
CmdDef.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
CmdDef.h
Color.cpp support for all default colors of the package xcolor 2015-05-14 22:23:44 +02:00
Color.h
ColorCode.h support for all default colors of the package xcolor 2015-05-14 22:23:44 +02:00
ColorSet.h
Compare.cpp Fix a cmake monolithic build error 2015-11-16 21:39:03 +01:00
Compare.h Slowly going through the suggestion made by our headers script. 2013-05-15 22:02:10 -07:00
CompletionList.h
Converter.cpp Add assertions, just to be sure. 2015-09-20 20:03:24 -04:00
Converter.h Make Converter class thread-safe 2014-12-21 22:05:15 +01:00
ConverterCache.cpp Fix unitialized members in CacheItem 2015-03-04 22:50:37 +01:00
ConverterCache.h
CoordCache.cpp Improve debug message 2015-11-20 22:43:45 +01:00
CoordCache.h Get rid of ParagraphMetrics::insetDimension 2015-10-19 13:17:16 +02:00
Counters.cpp Remove unused variables 2015-10-10 21:28:28 +02:00
Counters.h Fix caption counter in longtables (see #8993). 2014-02-25 08:00:43 +01:00
Cursor.cpp There does not appear to be any need to update the entire Buffer 2015-12-12 17:19:33 -05:00
Cursor.h Detect properly when cursor position cannot be computed 2015-12-07 13:25:10 +01:00
CursorSlice.cpp Replace outdated LASSERT 2015-03-20 18:50:58 +01:00
CursorSlice.h Improve source code documentation 2015-03-18 21:33:10 +01:00
CutAndPaste.cpp Consistency of ellipses across the UI 2015-10-05 21:16:16 +01:00
CutAndPaste.h Fix pasting insets into math (bug #9302) 2015-01-19 21:37:01 +01:00
DepTable.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
DepTable.h
Dimension.cpp Fix LASSERT correction 2015-10-10 21:38:17 +02:00
Dimension.h
DispatchResult.h Rename a routine. 2014-02-18 10:42:52 -05:00
DocIterator.cpp There does not appear to be any need to update the entire Buffer 2015-12-12 17:19:33 -05:00
DocIterator.h There does not appear to be any need to update the entire Buffer 2015-12-12 17:19:33 -05:00
DocumentClassPtr.h Deal with memory issue reported some time ago in connection with DocumentClass 2012-05-31 12:34:29 -04:00
EnchantChecker.cpp use enchant exception message accessor 2014-11-18 22:06:27 +01:00
EnchantChecker.h Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Encoding.cpp Do not mix several names for the same variable 2015-02-20 16:37:06 +01:00
Encoding.h Add some missing member variable initializations 2015-09-13 19:47:21 +02:00
ErrorList.cpp
ErrorList.h Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Exporter.cpp
Exporter.h
factory.cpp Avoid compiler warning about overloaded virtual function. 2015-05-20 15:49:15 +02:00
factory.h
Floating.cpp Add more Float tags to allow to disable wide and sideways feature 2015-05-22 18:59:17 +02:00
Floating.h Add more Float tags to allow to disable wide and sideways feature 2015-05-22 18:59:17 +02:00
FloatList.cpp Add more Float tags to allow to disable wide and sideways feature 2015-05-22 18:59:17 +02:00
FloatList.h Add more Float tags to allow to disable wide and sideways feature 2015-05-22 18:59:17 +02:00
Font.cpp Remove wrong FIXME. 2015-11-21 23:08:54 +01:00
Font.h Slowly going through the suggestion made by our headers script. 2013-05-15 22:02:10 -07:00
FontEnums.h Add support for stmaryrd.sty (bug #8434) 2012-12-15 13:10:31 +01:00
FontInfo.cpp Implement writing of layouts 2013-03-31 15:33:26 +02:00
FontInfo.h Fix logic error in on-screen font shape 2015-07-17 12:07:52 +02:00
FontList.cpp Fix compilation with boost 1.58 2015-05-16 00:05:23 +02:00
FontList.h Replace automatic logofication with insets 2015-03-01 11:16:57 +01:00
Format.cpp Fix bug #4812 (Layout in local directory lost on Save As, Copying) 2015-05-13 22:02:13 +02:00
Format.h Make Format class almost thread-safe 2014-12-21 21:40:25 +01:00
FuncCode.h New lfun "accent-perispomeni". 2015-08-26 22:43:38 +02:00
FuncRequest.cpp Handle sending a FuncRequest object to lyxerr 2012-06-07 17:21:49 +02:00
FuncRequest.h Handle sending a FuncRequest object to lyxerr 2012-06-07 17:21:49 +02:00
FuncStatus.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
FuncStatus.h
Graph.cpp
Graph.h
HSpace.cpp Audit all the LASSERT calls, and try to do something sensible at 2013-04-25 17:27:10 -04:00
HSpace.h
HunspellChecker.cpp Add lookup for standard location of hunspell dictionaries of Debian packages 2014-11-18 08:56:23 +01:00
HunspellChecker.h Implement access to hunspell's stemming function and let the Thesaurus use that (part of bug #8060). 2012-03-02 10:20:09 +00:00
IndicesList.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
IndicesList.h Typos 2012-06-05 12:22:13 +02:00
InsetIterator.cpp
InsetIterator.h
InsetList.cpp
InsetList.h
Intl.cpp
Intl.h
KeyMap.cpp Remove unsafe method FileName::tempName() 2014-06-09 13:05:50 +02:00
KeyMap.h
KeySequence.cpp Use empty() to check empty and non-empty'ness not size() 2012-10-27 01:25:38 +02:00
KeySequence.h
Language.cpp Improve list of available languages for UI l10n. 2015-05-21 10:48:38 +02:00
Language.h Improve list of available languages for UI l10n. 2015-05-21 10:48:38 +02:00
LaTeX.cpp Clear the error list before second LaTeX run 2015-11-20 13:47:11 -05:00
LaTeX.h Clear the error list before second LaTeX run 2015-11-20 13:47:11 -05:00
LaTeXFeatures.cpp Fix 480937a103708a651/lyxgit, second attempt. 2015-11-12 16:55:04 +01:00
LaTeXFeatures.h Move font encoding information to languages. 2015-01-24 14:02:16 +01:00
LaTeXFonts.cpp Revert 6a5aa1ca 2014-07-12 19:52:12 +02:00
LaTeXFonts.h Fix uninitialized member in LaTexFont constructor 2015-03-04 23:21:34 +01:00
LaTeXPackages.cpp Fix bug #4213: Change tracking support for tex2lyx. 2011-11-06 17:03:59 +00:00
LaTeXPackages.h Fix bug #4213: Change tracking support for tex2lyx. 2011-11-06 17:03:59 +00:00
Layout.cpp Layout format update: AddToToc, IsTocCaption, OutlinerName 2015-12-13 19:56:49 +00:00
Layout.h Layout format update: AddToToc, IsTocCaption, OutlinerName 2015-12-13 19:56:49 +00:00
LayoutEnums.h Add layout tag that determines if/when a paragraph can be indented. 2014-05-29 14:10:32 +02:00
LayoutFile.cpp Fix parsing of class and category declaration line in layout files 2015-09-02 14:29:06 +02:00
LayoutFile.h Fix bug #4812 (Layout in local directory lost on Save As, Copying) 2015-05-13 22:02:13 +02:00
LayoutModuleList.cpp Import theorems correctly (bugs #5702, #5776) 2012-10-26 22:23:16 +02:00
LayoutModuleList.h Import theorems correctly (bugs #5702, #5776) 2012-10-26 22:23:16 +02:00
Length.cpp Fix std::string docstream output error 2015-10-15 20:52:28 +02:00
Length.h Fix Length::inBP() 2015-07-12 18:36:19 +02:00
lengthcommon.cpp Remove C-isms in isValidLength 2015-02-20 16:16:31 +01:00
Lexer.cpp Fix cppcheck variable scope warnings 2015-09-20 10:42:35 +02:00
Lexer.h Provide optional trimmed version of Lexer::getString and getDocString 2015-05-19 10:15:34 +02:00
lyx_commit_hash.h.in Autotools: read git commit hash at compile time 2014-11-24 22:00:21 +01:00
LyX.cpp Fix bug #9096: Load all the files specified on the command line, and then dispatch whatever commands we are given to those Buffers. 2015-11-29 11:25:21 -05:00
LyX.h Fix bug #9096: Load all the files specified on the command line, and then dispatch whatever commands we are given to those Buffers. 2015-11-29 11:25:21 -05:00
LyXAction.cpp Update documentation for tabular features 2015-11-17 09:26:29 +01:00
LyXAction.h Remove "dialog-show print" from various UI locations. 2015-11-26 23:21:07 -05:00
lyxfind.cpp Revert "Now math previews are correctly updated when replacing math contents inside" 2015-11-13 00:54:15 -05:00
lyxfind.h Rewrite of change-related helpers 2014-10-14 17:40:44 +02:00
LyXRC.cpp Fix bug #7657: Detect inkscape from the configure script 2015-11-02 23:46:14 +01:00
LyXRC.h Remove printing support from LyX. 2015-05-27 18:13:08 -04:00
LyXVC.cpp Remove unsafe method FileName::tempName() 2014-06-09 13:05:50 +02:00
LyXVC.h Fix monolithic build 2013-03-18 20:42:28 +01:00
lyxwinres.rc
main.cpp
Makefile.am Add unit test for InsetListings::getCaption() 2015-11-22 17:36:32 +01:00
MetricsInfo.cpp #9514 contents inside of LyX insets with spell check disabled should be ignored by spell checker. 2015-05-06 18:39:24 +02:00
MetricsInfo.h Fix wrong forward declaration 2015-11-16 21:51:30 +01:00
ModuleList.cpp Remove dependency on TEX2LYX #define in ModuleList.cpp 2013-09-29 15:26:12 +02:00
ModuleList.h Remove some header leftovers based on Scott's script hints. 2013-05-02 00:30:16 -07:00
Mover.cpp Centralize replacement of "$$s" 2014-05-14 15:45:20 -04:00
Mover.h
output_docbook.cpp Remove unused variables 2015-10-10 21:28:28 +02:00
output_docbook.h
output_latex.cpp Fix 480937a103708a651/lyxgit, second attempt. 2015-11-12 16:55:04 +01:00
output_latex.h Improvements to cursor highlighting in the source panel 2015-10-01 21:51:08 +01:00
output_plaintext.cpp Fix a bunch of small performance issues spotted by cppcheck 2014-07-05 19:13:10 +02:00
output_plaintext.h Introduce max_length parameter for plaintext() output routines, 2013-03-08 15:12:58 -05:00
output_xhtml.cpp Fix std::string docstream output error 2015-10-15 20:52:28 +02:00
output_xhtml.h Fix std::string docstream output error 2015-10-15 20:52:28 +02:00
output.cpp
output.h
OutputEnums.h
OutputParams.cpp Fix preview of included files in child documents (bug #9583) 2015-06-02 17:23:52 +02:00
OutputParams.h Fix preview of included files in child documents (bug #9583) 2015-06-02 17:23:52 +02:00
paper.h Convert remaining C++ files to UTF-8 2015-12-05 19:33:24 +00:00
Paragraph.cpp Use the much faster forOutliner also to get the tooltip text. 2015-12-12 17:19:33 -05:00
Paragraph.h Remove unused declarations 2015-11-04 21:41:00 +01:00
ParagraphList.h
ParagraphMetrics.cpp Fix length of hfills 2015-11-24 10:11:17 +01:00
ParagraphMetrics.h Get rid of ParagraphMetrics::insetDimension 2015-10-19 13:17:16 +02:00
ParagraphParameters.cpp
ParagraphParameters.h
ParIterator.cpp
ParIterator.h Remove some header leftovers based on Scott's script hints. 2013-05-02 00:30:16 -07:00
PDFOptions.cpp Allow quotes in PDF text properties 2015-11-04 12:18:01 +01:00
PDFOptions.h Add some missing member variable initializations 2015-09-13 19:47:21 +02:00
PersonalWordList.cpp src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
PersonalWordList.h Fix a bunch of minor issues discovered by the cppcheck script. 2014-04-21 11:52:00 -04:00
PrinterParams.cpp Remove printing support from LyX. 2015-05-27 18:13:08 -04:00
PrinterParams.h
Row.cpp Justify row correctly after double space 2015-10-28 14:03:01 +01:00
Row.h Avoid showing vertical scroll mark when not necessary 2015-10-26 00:01:28 +01:00
RowPainter.cpp Remember the last used QTextLayout object 2015-12-09 11:57:52 +01:00
RowPainter.h Make spellchecker dotted underlines thicker. 2015-12-02 21:49:54 +01:00
Server.cpp Fix wrong test: boolean variable is never negative 2014-11-01 16:06:08 +01:00
Server.h
ServerSocket.cpp Fix cppcheck variable scope warnings 2015-09-20 10:42:35 +02:00
ServerSocket.h Header cleanup cont. 2013-05-19 18:07:53 -07:00
Session.cpp Prevent crash when attempting to restore a file multiple times. 2015-04-06 09:55:07 +02:00
Session.h
sgml.cpp Fix cppcheck variable scope warnings 2015-09-20 10:42:35 +02:00
sgml.h Fix a bunch of small performance issues spotted by cppcheck 2014-07-05 19:13:10 +02:00
Spacing.cpp
Spacing.h
SpellChecker.h Implement access to hunspell's stemming function and let the Thesaurus use that (part of bug #8060). 2012-03-02 10:20:09 +00:00
TexRow.cpp improved data types for prefix length and pointer diff 2015-11-20 20:48:56 +01:00
TexRow.h Add cursor<->row correspondance tracking for tables and subcaptions. 2015-10-19 06:55:18 +01:00
texstream.cpp Add cursor<->row correspondance tracking for tables and subcaptions. 2015-10-19 06:55:18 +01:00
texstream.h Add cursor<->row correspondance tracking for tables and subcaptions. 2015-10-19 06:55:18 +01:00
Text2.cpp Reset cursor font when entring an inset with char-forward/backward 2015-07-21 09:24:31 +02:00
Text3.cpp Disable LFUN_LAYOUT when layout cannot be found 2015-11-17 08:48:55 +01:00
Text.cpp Fix bug #9854 "Dataloss after git merge with change tracking" 2015-11-18 02:50:25 +00:00
Text.h Consistency of ellipses across the UI 2015-10-05 21:16:16 +01:00
TextClass.cpp Layout format update: AddToToc, IsTocCaption, OutlinerName 2015-12-13 19:56:49 +00:00
TextClass.h Layout format update: AddToToc, IsTocCaption, OutlinerName 2015-12-13 19:56:49 +00:00
TextMetrics.cpp When counting hfills, make sure that they are active 2015-12-09 17:16:00 +01:00
TextMetrics.h Implement on screen rendering of alignment in LR boxes. 2015-11-23 11:40:36 +01:00
Thesaurus.cpp Make Thesaurus check for more general dictionaries (en-v2.idx) 2015-06-02 17:28:44 +02:00
Thesaurus.h Forbid wrong compiler generated copy constructors 2015-09-20 19:43:06 +02:00
TocBackend.cpp Layout format update: AddToToc, IsTocCaption, OutlinerName 2015-12-13 19:56:49 +00:00
TocBackend.h Layout format update: AddToToc, IsTocCaption, OutlinerName 2015-12-13 19:56:49 +00:00
Trans.cpp Add missing intializations 2015-10-10 21:04:28 +02:00
Trans.h Add missing intializations 2015-10-10 21:04:28 +02:00
Undo.cpp Remember the cursor before an undo group 2015-07-21 11:57:50 +02:00
Undo.h Repeat after me: into account, into account, into account 2015-09-27 21:38:20 +02:00
update_flags.h
VCBackend.cpp VCBackend.cpp: addendum to [f51d7fdd/lyxgit] 2015-07-16 21:10:50 +02:00
VCBackend.h Add some missing member variable initializations 2015-09-13 19:47:21 +02:00
version.cpp Make builds reproducible 2015-03-26 18:14:45 +01:00
version.h stdlayouts.inc: support for verbatim* 2015-11-24 23:56:26 +01:00
VSpace.cpp Audit all the LASSERT calls, and try to do something sensible at 2013-04-25 17:27:10 -04:00
VSpace.h
WordLangTuple.h #9496 factor out getting language from LFUN args or cursor position in speller LFUNs 2015-07-16 21:59:15 +02:00
WordList.cpp Make theWordList() thread safe. 2014-07-04 22:19:43 +02:00
WordList.h Make WordList noncopyable 2014-07-04 21:15:21 +02:00