[LyX/master] Do not check again and again for non existing files

Jean-Marc Lasgouttes lasgouttes at lyx.org
Thu Dec 26 15:29:26 UTC 2019


commit aeed6fb8fa35c045697fe6950c6109be8d30884c
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Mon Dec 16 18:26:55 2019 +0100

    Do not check again and again for non existing files
    
    If the file of an InsetInclude does not exist, loadIfNeeded will try
    again and again to look for it. This is very bad for files with many
    include insets, especially on windows.
    
    Fixes bug #11656.
---
 src/insets/InsetInclude.cpp |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp
index 1bd1c5b..09d4be3 100644
--- a/src/insets/InsetInclude.cpp
+++ b/src/insets/InsetInclude.cpp
@@ -480,8 +480,10 @@ Buffer * InsetInclude::loadIfNeeded() const
 	Buffer * child = theBufferList().getBuffer(included_file);
 	if (!child) {
 		// the readonly flag can/will be wrong, not anymore I think.
-		if (!included_file.exists())
+		if (!included_file.exists()) {
+			failedtoload_ = true;
 			return 0;
+		}
 
 		child = theBufferList().newBuffer(included_file.absFileName());
 		if (!child)


More information about the lyx-cvs mailing list