diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2019-02-12 13:48:53 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2019-02-28 15:52:51 +0100 |
commit | 05602710a047c58db0ceda88bedc291420990bc1 (patch) | |
tree | 3f74ed616190ad8b95a9f35942ba3149f223e68b /sc/source/ui/inc/undocell.hxx | |
parent | 07ba22e2953a91b61e770de2b4e3aefa9ea33dc6 (diff) |
reintroduce ScCaptionPtr
This basically reverts b6b1ded0a0539e7be1b5338de378a3276a6ff445, since it
introduces tdf#118707, and I cannot reproduce any of the original problems
when reverting.
The patch itself is technically correct, but the problem is in the Windows
implementation of clipboard handling, which uses delayed processing
of setting clipboard contents. This leads to previous clipboard contents
being deleted too late, and with shared_ptr instances of SdrCaptionObj may
get deleted after the related SdrModel has already been deleted.
A proper fix would be to remove the stupid delayed processing from
the clipboard code, but that's non-trivial. If that gets fixed, the change
removing ScCaptionPtr may most probably be applied again.
Change-Id: I29634847486aa955b20483c9eb38bba4fed87187
Reviewed-on: https://gerrit.libreoffice.org/67725
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'sc/source/ui/inc/undocell.hxx')
-rw-r--r-- | sc/source/ui/inc/undocell.hxx | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/sc/source/ui/inc/undocell.hxx b/sc/source/ui/inc/undocell.hxx index 3227c33f1635..889d0e226f72 100644 --- a/sc/source/ui/inc/undocell.hxx +++ b/sc/source/ui/inc/undocell.hxx @@ -34,51 +34,6 @@ class ScDocShell; class ScPatternAttr; class ScRangeName; -class ScUndoSdrCaptionObj: public SdrUndoAction -{ -protected: - SdrObjList* m_pObjList; - sal_uInt32 const m_nOrdNum; - std::shared_ptr< SdrCaptionObj > m_pCaptionObj; - - void UnmarkObject(); - void BroadcastSwitchToPage(); - OUString GetDescriptionString( const char* pStrCacheID, bool bRepeat = false ) const; - -public: - ScUndoSdrCaptionObj(const std::shared_ptr< SdrCaptionObj >&); - virtual ~ScUndoSdrCaptionObj() override; -}; - -class ScUndoDelSdrCaptionObj: public ScUndoSdrCaptionObj -{ -public: - ScUndoDelSdrCaptionObj(const std::shared_ptr< SdrCaptionObj >& pCaptionObj); - virtual ~ScUndoDelSdrCaptionObj() override; - - virtual void Undo() override; - virtual void Redo() override; - - virtual OUString GetComment() const override; - virtual OUString GetSdrRepeatComment(SdrView& rView) const override; - - virtual void SdrRepeat(SdrView& rView) override; - virtual bool CanSdrRepeat(SdrView& rView) const override; -}; - - -class ScUndoNewSdrCaptionObj: public ScUndoSdrCaptionObj -{ -public: - ScUndoNewSdrCaptionObj(const std::shared_ptr< SdrCaptionObj >& pCaptionObj); - virtual ~ScUndoNewSdrCaptionObj() override; - - virtual void Undo() override; - virtual void Redo() override; - - virtual OUString GetComment() const override; -}; - class ScUndoCursorAttr: public ScSimpleUndo { public: |