-/*
+/**
* \file GraphicsLoader.C
- * Copyright 2002 the LyX Team
* Read the file COPYING
*
- * \author Angus Leeming <leeming@lyx.org>
+ * \author Angus Leeming
+ *
+ * Full author contact details available in file CREDITS
*/
#include <config.h>
#endif
#include "GraphicsLoader.h"
+
+#include "BufferView.h"
+
#include "GraphicsCache.h"
#include "GraphicsCacheItem.h"
#include "GraphicsImage.h"
#include "GraphicsParams.h"
#include "GraphicsSupport.h"
+#include "frontends/LyXView.h"
#include "frontends/Timeout.h"
+#include <boost/weak_ptr.hpp>
#include <boost/bind.hpp>
#include <boost/signals/trackable.hpp>
///
InsetList insets;
///
- BufferView const * view;
+ boost::weak_ptr<BufferView const> view;
};
Loader::Impl::Impl(Params const & params)
: status_(WaitingToLoad), params_(params),
- timer(2000, Timeout::ONETIME), view(0)
+ timer(2000, Timeout::ONETIME)
{
timer.timeout.connect(boost::bind(&Impl::checkedLoading, this));
}
it = std::find(it, end, &inset);
if (it == end)
insets.push_back(&inset);
- view = &bv;
+ view = bv.owner()->view();
timer.start();
}
void Loader::Impl::checkedLoading()
{
- if (insets.empty() || !view)
+ if (insets.empty() || !view.get())
return;
- std::list<VisibleParagraph> const vps = getVisibleParagraphs(*view);
+ std::list<VisibleParagraph> const vps =
+ getVisibleParagraphs(*view.get());
InsetList::const_iterator it = insets.begin();
InsetList::const_iterator end = insets.end();