diff options
Diffstat (limited to 'sd/source/ui')
-rw-r--r-- | sd/source/ui/view/sdview.cxx | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx index 9b93c8c47cb3..1eb87b55839a 100644 --- a/sd/source/ui/view/sdview.cxx +++ b/sd/source/ui/view/sdview.cxx @@ -738,8 +738,22 @@ bool View::SdrBeginTextEdit( } } - if (bMasterPage && bReturn) - maMasterViewFilter.Start(pOutl); + if (bMasterPage && bReturn && pOutl) + { + const SdrTextObj* pTextObj = pOutl->GetTextObj(); + const SdPage* pSdPage = pTextObj ? static_cast<const SdPage*>(pTextObj->GetPage()) : NULL; + const PresObjKind eKind = pSdPage ? pSdPage->GetPresObjKind(const_cast<SdrTextObj*>(pTextObj)) : PRESOBJ_NONE; + switch (eKind) + { + case PRESOBJ_TITLE: + case PRESOBJ_OUTLINE: + case PRESOBJ_TEXT: + maMasterViewFilter.Start(pOutl); + break; + default: + break; + } + } return bReturn; } |