Commit Graph

16 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
a556652f6e Do not store Languages objects in completion words lists
In the current code each paragraph contains a map<Language,
WordList*>, which means that it contains a full copy of the language
object. Since these objects contain translation tables nowadays, this
is a very bad idea.

This patch simply replaces the Language key by a string.

When loading the Userguide on linux/x86_64, the total memory
consumption decreases from 36.27MB to 31.50MB.
2014-04-18 10:52:48 -04:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Lars Gullik Bjønnes
d52c9fda34 Use new T not new T() 2012-10-27 01:25:38 +02:00
Tommaso Cucinotta
79716cbcd0 Clean up word lists on exit. Not really a concrete issue, but just
get less "noise" when debugging for memory leaks.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39865 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-15 13:38:52 +00:00
Vincent van Ravesteijn
3efb1572a2 Fix bug #6378: Word completion (in texted) should be language-sensitive.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32581 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-18 14:48:56 +00:00
Jean-Marc Lasgouttes
9b4a26a252 rename assert.h to lassert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24559 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 08:26:40 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00
Stefan Schimanski
5d0e49d4dc * fix a memory corruption due to sligtly different semantics of btree iterators:
// We use the key() method here, and not something like it->first
       // because the btree only returns (iterator-) temporary value pairs.
       // If we returned the first component of those here, we get an
       // invalid reference and therefore strange crashes.
       return it.key();

* This should fix the completion for Windows users hopefully.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23321 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 14:46:47 +00:00
Stefan Schimanski
cd5bad62e0 * paragraph support for the global word list. To make it buffer
dependent, we need the buffer pointer. In fact we already have a
  pointer to the text inset. So as soon as inset know their buffer we
  can easily switch to a buffer local word list.
* there might be missing some more places to update the words from a
  buffer, like for example after backspace or more important when the
  cursor leaves a paragraph.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23244 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 13:07:59 +00:00
Stefan Schimanski
f8d516c7af Revert "* compile fix"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23234 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 22:02:48 +00:00
Stefan Schimanski
1669c17c0f * compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23233 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 21:53:16 +00:00
Abdelrazak Younes
477366d8ee Cleanup header.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23221 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 09:02:35 +00:00
Abdelrazak Younes
f658224e5c Fix warnings and svn eol properties.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23220 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 08:54:51 +00:00
Stefan Schimanski
9a5aba0877 * copy'n'paste fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 02:01:48 +00:00
Stefan Schimanski
9f21b7f9ad * high performance text completion with weighted btrees to get pseudo
random-access (i.e. O(log n)) to the n-th element in a list/set. Try
  it with 1000000 keys ... no problem.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23213 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 01:56:53 +00:00