summaryrefslogtreecommitdiff
path: root/sd/inc/Outliner.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/inc/Outliner.hxx')
-rwxr-xr-xsd/inc/Outliner.hxx17
1 files changed, 9 insertions, 8 deletions
diff --git a/sd/inc/Outliner.hxx b/sd/inc/Outliner.hxx
index 45db437e9370..2eeebaec4454 100755
--- a/sd/inc/Outliner.hxx
+++ b/sd/inc/Outliner.hxx
@@ -35,6 +35,8 @@
#include <editeng/SpellPortions.hxx>
#include <memory>
#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <boost/noncopyable.hpp>
class Dialog;
class SdPage;
@@ -104,7 +106,8 @@ class Window;
</p>
*/
class Outliner
- : public SdrOutliner
+ : public SdrOutliner,
+ public ::boost::noncopyable
{
public:
friend class ::sd::outliner::OutlinerContainer;
@@ -193,8 +196,11 @@ private:
/// The view which displays the searched objects.
::sd::View* mpView;
- /// The view shell containing the view.
- ::boost::shared_ptr<ViewShell> mpViewShell;
+ /** The view shell containing the view. It is held as weak
+ pointer to avoid keeping it alive when the view is changed
+ during searching.
+ */
+ ::boost::weak_ptr<ViewShell> mpWeakViewShell;
/// This window contains the view.
::sd::Window* mpWindow;
/// The document on whose objects and pages this class operates.
@@ -346,11 +352,6 @@ private:
*/
bool mbPrepareSpellingPending;
- /** In this flag we store whether the view shell is valid and may be
- accessed.
- */
- bool mbViewShellValid;
-
/** Initialize the object iterator. Call this method after being
invoked from the search or spellcheck dialog. It creates a new
iterator pointing at the current object when this has not been done