Commit Graph

69 Commits

Author SHA1 Message Date
Scott Kostyshak
390ae05444 Update previews on preference change (#9507)
Normally the theBufferList().updatePreviews(); statement would go inside
of PrefDisplay::applyRC. However, that would not work well because
Buffer::updatePreviews() calls loader() which conditions on
(lyxrc.preview == LyXRC::PREVIEW_OFF) but the new RC has not been set at
this point.
2015-04-21 02:40:18 -04:00
Georg Baum
922d48da27 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-05 12:51:40 +02:00
Richard Heck
fdbe775b9f This is the result of an audit of all static variables, looking
for possible thread conflicts, of the sort Georg resolved at
6a30211f. I have made static variables const where possible,
and marked cases that looked potentially problematic with the
comment:
	// FIXME THREAD
Many of these definitely are vulnerable to concurrent access, such
as the static variables declared at the start of output_latex.cpp.
Suppose, e.g., we were outputting latex and also displaying the
source of a different document.

I'd appreciate it if others could grep for "FIXME THREAD" and see
if some of these are harmless, or what.
2014-04-21 11:51:57 -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
Juergen Spitzmueller
02c73cd721 Do not let the parent interfere when I child document is exported/view standalone (#8100, #8101) 2012-10-03 10:41:07 +02:00
Vincent van Ravesteijn
6cf1847b31 New function BufferList::newInternalBuffer
This solves the problem that newBuffer() already use Buffer::isInternal
but there was no chance to set it yet.
2012-05-12 14:36:13 +02:00
Vincent van Ravesteijn
fa438c1699 Remove read_only parameter from newBuffer
This parameter defaults to false and it is never set to true. So, we can
better remove the parameter.
2012-05-12 14:35:04 +02:00
Richard Heck
bfad09a073 Cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40199 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-15 18:24:42 +00:00
Richard Heck
f25e7c340b Improve argument handling for the source generation routines.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40069 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 20:14:48 +00:00
Enrico Forestieri
d703d90574 Fix bug #7835 (Relative paths are not supported by the TEXINPUTS prefix)
This restores \input@path handling, which turns out to be necessary, as
the TEXINPUTS mechanism is not used with relative paths. It turns out
that both methods must be used, because \input@path does not work in all
cases (most notably with tikz).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39918 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-22 15:10:43 +00:00
Enrico Forestieri
7c17e970b1 Fix bug #6170 (Latex Compiler error when lyx file is located in a path which contains a "#")
This removes \input@path handling.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39563 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-29 17:02:27 +00:00
Tommaso Cucinotta
edc94a578f Added possibility to retrieve internal buffers (by their tmp file-name) from the Model.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37548 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-07 20:31:09 +00:00
Vincent van Ravesteijn
0c9da47505 BufferList should not determine that the current author has id = 0. This should really be in AuthorList. Besides BufferList shouldn't have to create an Author by itself.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35921 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 19:27:55 +00:00
Vincent van Ravesteijn
be40bdeb3e Write code in a language that everyone understands ?
Does anyone have a clue why nvec is declared static here ? Or can I remove it ?

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35920 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 19:10:54 +00:00
Richard Heck
5a46224f73 Remove the magic boolean in getChildren() from the public interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35538 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-29 13:05:57 +00:00
Richard Heck
2291614a6c Introduce a typedef for vector<Buffer *>. No change in behavior
anticipated.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35529 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-29 11:55:10 +00:00
Peter Kümmel
30bae1710a cmake: fix merged build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34954 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 22:24:30 +00:00
Peter Kümmel
807fc1443a also use TR1 code for bind and shared_ptr when compiling with GCC >= 4.4
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34600 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-05 11:06:13 +00:00
Enrico Forestieri
08f2841940 Fix reverse search when the filename contains a forbidden character
(including, but not only, spaces).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34390 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-08 23:53:35 +00:00
Peter Kümmel
21514ad512 Seems boost also includes all std headers. Not including boost therefore produces errors.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34260 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-22 11:45:34 +00:00
Peter Kümmel
61b2bd5e7f Using "using namespace std" with msvc10 makes also std::tr1::bind visible and generates conflicts with boost::bind.
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
2010-04-22 11:16:58 +00:00
Pavel Sanda
72a6c77a51 support:
frontends:
onlyFilename -> onlyFileName

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34240 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:28 +00:00
Pavel Sanda
41b81f09e1 Forgot these two.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34237 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:23 +00:00
Richard Heck
13746b6d82 Micro-optimization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33675 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-08 14:55:33 +00:00
Vincent van Ravesteijn
570f96bc6e Add a boolean to GuiWorkArea::redraw to indicate whether the metrics must be updated. The current test "lyx_view_ != guiApp->currentView() || lyx_view_->currentWorkArea() != this" is not enough, especially not if the buffer is changed and buffer->changed() is called. Moreover, there are a lot of combinations of updateMetrics() followed by buffer->changed(), these can now be replaced by one call to buffer->changed(bool).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32874 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 02:03:54 +00:00
Tommaso Cucinotta
78874e5f27 When zooming in/out with [Ctrl] + [Mouse Wheel], document WA's font is immediately updated, but if the Advanced F&R dialog is shown, its own WAs' font (find WA and replace WA) is not immediately updated, but delayed until the next editing action.
This commit fixes such behaviour, and performs the update immediately.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32794 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-06 18:36:13 +00:00
Tommaso Cucinotta
f3b3f62d5b Added isInternal() method, mapped temporarily on check about ".internal" filename extension (minimum impact on current code).
Replaced various replica of such check with the invocation of the new method.
TocBackend now does not call addToToc() for internal buffers.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31340 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-08 01:29:07 +00:00
Vincent van Ravesteijn
c0dac43600 Release children of a master if the children don't have a default master. It was already proven that the child is a child of the master, but the check the other way around failed when child->parent() was zero.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31072 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-16 00:19:27 +00:00
Richard Heck
c5487a3682 Move emergencyWrite() from BufferList to Buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31056 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-15 16:34:54 +00:00
Pavel Sanda
c155dcbfe9 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30780 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-25 16:43:28 +00:00
Enrico Forestieri
d4f00122eb Fix bug #6020: Reverse DVI/PDF search fails with child documents.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30214 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-22 05:09:01 +00:00
Enrico Forestieri
ea3484337f Remove unneeded include.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29826 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-23 13:28:41 +00:00
Enrico Forestieri
d1ebeea288 This was not needed, as the case is already adjusted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29823 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-23 13:13:32 +00:00
Enrico Forestieri
6d1d27eb90 Take into account file system case sensitivity when checking whether
a path starts with a given prefix.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29793 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-22 22:34:43 +00:00
Enrico Forestieri
ccc77c73da Speed up FileName operator== (Georg's solution).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29498 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-02 17:12:31 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Jean-Marc Lasgouttes
536f1d4878 remove useless assertion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27052 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-23 12:25:52 +00:00
Abdelrazak Younes
22204cda0b Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=5355
The mixing of internal and 'normal' buffers turned out to be problematic. This commit just dissociates the two types.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26884 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-13 20:40:58 +00:00
Abdelrazak Younes
36f619ed25 BufferList::next() and previous(): don't cycle through 'internal' buffers.
This should fix bug http://bugzilla.lyx.org/show_bug.cgi?id=5259


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26495 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-22 09:59:46 +00:00
Abdelrazak Younes
64e1fc3bf4 BufferList::bufferNum() and getFileNames(): migrate to FileName/FileNameList
Inset.h : fix erroneous forward declaration.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25959 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 08:52:25 +00:00
Abdelrazak Younes
d56faa70c4 BufferList::getBuffer(): migrate to FileName.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25958 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 08:16:09 +00:00
Abdelrazak Younes
d1d7252c46 BufferList::exists(): use FileName::operator==() instead of string comparison.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25957 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 08:05:01 +00:00
Abdelrazak Younes
5ac9db6dfc First step toward fixing http://bugzilla.lyx.org/show_bug.cgi?id=3243
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25955 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 07:53:08 +00:00
Abdelrazak Younes
d861ab947f Move child document closing from InsetInclude dtor to Buffer parent dtor. Fix http://bugzilla.lyx.org/show_bug.cgi?id=5047
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25731 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-20 17:52:55 +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
André Pönitz
f2c9b56fb4 cosmetics/#include cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23747 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 00:22:54 +00:00
Abdelrazak Younes
72b0b23590 Introduce BufferException so that we don't crash if a problem affects only current Buffer. Instead we now just do an emergency save and we close it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23346 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 08:10:51 +00:00
Abdelrazak Younes
1447a7bf98 Now that exceptions are allowed, handle gracefully the case where a Buffer temp directory could not be created. As a bonus, the user will get an informative message.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22196 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-17 18:37:13 +00:00