sw/inc/unocrsr.hxx | 8 +++++--- sw/qa/core/data/rtf/fail/UnoCursor-1.rtf |binary sw/source/core/unocore/unoobj.cxx | 8 ++++---- 3 files changed, 9 insertions(+), 7 deletions(-)
New commits: commit c9023860bbf2cc48c85a144eb7bb1f7d0a0fdd9f Author: Caolán McNamara <caol...@redhat.com> Date: Wed Sep 28 13:30:29 2016 +0100 fftester: cut out middle man in deref null ptr and get address Change-Id: Iba157f47e847cb2eba1d771a6f357019d68b4f13 diff --git a/sw/inc/unocrsr.hxx b/sw/inc/unocrsr.hxx index 4af347a..e6cbee0 100644 --- a/sw/inc/unocrsr.hxx +++ b/sw/inc/unocrsr.hxx @@ -144,10 +144,12 @@ namespace sw if(!GetRegisteredIn()) m_pCursor.reset(); }; - SwUnoCursor& operator*() const - { return *m_pCursor.get(); } - SwUnoCursor* operator->() const + SwUnoCursor* get() const { return m_pCursor.get(); } + SwUnoCursor* operator->() const + { return get(); } + SwUnoCursor& operator*() const + { return *get(); } UnoCursorPointer& operator=(UnoCursorPointer aOther) { if(aOther.m_pCursor) diff --git a/sw/qa/core/data/rtf/fail/UnoCursor-1.rtf b/sw/qa/core/data/rtf/fail/UnoCursor-1.rtf new file mode 100644 index 0000000..8b816bd Binary files /dev/null and b/sw/qa/core/data/rtf/fail/UnoCursor-1.rtf differ diff --git a/sw/source/core/unocore/unoobj.cxx b/sw/source/core/unocore/unoobj.cxx index 1a17693..e7515fc 100644 --- a/sw/source/core/unocore/unoobj.cxx +++ b/sw/source/core/unocore/unoobj.cxx @@ -690,10 +690,10 @@ SwUnoCursor& SwXTextCursor::GetCursor() { return *m_pImpl->m_pUnoCursor; } SwPaM const* SwXTextCursor::GetPaM() const - { return &(*m_pImpl->m_pUnoCursor); } + { return m_pImpl->m_pUnoCursor.get(); } SwPaM* SwXTextCursor::GetPaM() - { return &(*m_pImpl->m_pUnoCursor); } + { return m_pImpl->m_pUnoCursor.get(); } SwDoc const* SwXTextCursor::GetDoc() const { return m_pImpl->m_pUnoCursor ? m_pImpl->m_pUnoCursor->GetDoc() : nullptr; } @@ -726,8 +726,8 @@ SwXTextCursor::~SwXTextCursor() void SwXTextCursor::DeleteAndInsert(const OUString& rText, const bool bForceExpandHints) { - auto pUnoCursor = static_cast<SwCursor*>(&(*m_pImpl->m_pUnoCursor)); - if(pUnoCursor) + auto pUnoCursor = static_cast<SwCursor*>(m_pImpl->m_pUnoCursor.get()); + if (pUnoCursor) { // Start/EndAction SwDoc* pDoc = pUnoCursor->GetDoc();
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits