mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-24 13:48:59 +00:00
Fix most of bug 5539.
If a file fails to load, we do not try to load it again. The downside is that, even if you fixed the problem, then LyX won't try to load it again in that session. I tried resetting the failedtoload_ variable in fileChanged(), but that didn't work, as it doesn't seem to get hit. I'm not sure what to do here, but it isn't a huge issue. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27688 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
aeb997e3f0
commit
39bc3f3f93
@ -160,7 +160,8 @@ InsetLabel * createLabel(docstring const & label_str)
|
|||||||
|
|
||||||
InsetInclude::InsetInclude(InsetCommandParams const & p)
|
InsetInclude::InsetInclude(InsetCommandParams const & p)
|
||||||
: InsetCommand(p, "include"), include_label(uniqueID()),
|
: InsetCommand(p, "include"), include_label(uniqueID()),
|
||||||
preview_(new RenderMonitoredPreview(this)), set_label_(false), label_(0)
|
preview_(new RenderMonitoredPreview(this)), failedtoload_(false),
|
||||||
|
set_label_(false), label_(0)
|
||||||
{
|
{
|
||||||
preview_->fileChanged(boost::bind(&InsetInclude::fileChanged, this));
|
preview_->fileChanged(boost::bind(&InsetInclude::fileChanged, this));
|
||||||
|
|
||||||
@ -173,7 +174,8 @@ InsetInclude::InsetInclude(InsetCommandParams const & p)
|
|||||||
|
|
||||||
InsetInclude::InsetInclude(InsetInclude const & other)
|
InsetInclude::InsetInclude(InsetInclude const & other)
|
||||||
: InsetCommand(other), include_label(other.include_label),
|
: InsetCommand(other), include_label(other.include_label),
|
||||||
preview_(new RenderMonitoredPreview(this)), set_label_(false), label_(0)
|
preview_(new RenderMonitoredPreview(this)), failedtoload_(false),
|
||||||
|
set_label_(false), label_(0)
|
||||||
{
|
{
|
||||||
preview_->fileChanged(boost::bind(&InsetInclude::fileChanged, this));
|
preview_->fileChanged(boost::bind(&InsetInclude::fileChanged, this));
|
||||||
|
|
||||||
@ -371,6 +373,9 @@ Buffer * InsetInclude::getChildBuffer(Buffer const & buffer) const
|
|||||||
Buffer * InsetInclude::loadIfNeeded(Buffer const & parent) const
|
Buffer * InsetInclude::loadIfNeeded(Buffer const & parent) const
|
||||||
{
|
{
|
||||||
InsetCommandParams const & p = params();
|
InsetCommandParams const & p = params();
|
||||||
|
if (failedtoload_)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (isVerbatim(p) || isListings(p))
|
if (isVerbatim(p) || isListings(p))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -393,6 +398,7 @@ Buffer * InsetInclude::loadIfNeeded(Buffer const & parent) const
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!child->loadLyXFile(included_file)) {
|
if (!child->loadLyXFile(included_file)) {
|
||||||
|
failedtoload_ = true;
|
||||||
//close the buffer we just opened
|
//close the buffer we just opened
|
||||||
theBufferList().release(child);
|
theBufferList().release(child);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -125,6 +125,8 @@ private:
|
|||||||
/// The pointer never changes although *preview_'s contents may.
|
/// The pointer never changes although *preview_'s contents may.
|
||||||
boost::scoped_ptr<RenderMonitoredPreview> const preview_;
|
boost::scoped_ptr<RenderMonitoredPreview> const preview_;
|
||||||
|
|
||||||
|
///
|
||||||
|
mutable bool failedtoload_;
|
||||||
/// cache
|
/// cache
|
||||||
mutable bool set_label_;
|
mutable bool set_label_;
|
||||||
mutable RenderButton button_;
|
mutable RenderButton button_;
|
||||||
|
Loading…
Reference in New Issue
Block a user