summaryrefslogtreecommitdiff
path: root/sd/source/ui/docshell/docshell.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2014-09-18 15:10:54 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-09-23 17:27:47 +0200
commit23e1fc277d5651babce17bb74408ef6505f101d2 (patch)
treeedf64a973766400f870095f4ecd25784bfea6ba5 /sd/source/ui/docshell/docshell.cxx
parent7f895dfbf5fb084d747e52db678d75e3273cd825 (diff)
loplugin: cstylecast, update PTR_CAST macro to use static_cast
I introduce a template method into the PTR_CAST machinery to maintain constness. There is now a FIXME in sd/../docshell.cxx because I needed to use a dynamic_cast there to work around the games it appears to be playing with OLE in-place activation. Signed-off-by: Stephan Bergmann <sbergman@redhat.com>, dropping the GCC-extension, unnecessary use of typeof from tools/rtti.hxx Change-Id: Iba5ace1aa27e02b34fcc91af1e658c43371afd03
Diffstat (limited to 'sd/source/ui/docshell/docshell.cxx')
-rw-r--r--sd/source/ui/docshell/docshell.cxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/sd/source/ui/docshell/docshell.cxx b/sd/source/ui/docshell/docshell.cxx
index a184ccf93d10..0b9e31c4cb69 100644
--- a/sd/source/ui/docshell/docshell.cxx
+++ b/sd/source/ui/docshell/docshell.cxx
@@ -285,8 +285,6 @@ void DrawDocShell::GetState(SfxItemSet &rSet)
void DrawDocShell::InPlaceActivate( bool bActive )
{
- ViewShell* pViewSh = NULL;
- SfxViewShell* pSfxViewSh = NULL;
SfxViewFrame* pSfxViewFrame = SfxViewFrame::GetFirst(this, false);
std::vector<FrameView*> &rViews = mpDoc->GetFrameViewList();
@@ -301,8 +299,9 @@ void DrawDocShell::InPlaceActivate( bool bActive )
while (pSfxViewFrame)
{
// determine the number of FrameViews
- pSfxViewSh = pSfxViewFrame->GetViewShell();
- pViewSh = PTR_CAST( ViewShell, pSfxViewSh );
+ SfxViewShell* pSfxViewSh = pSfxViewFrame->GetViewShell();
+ // FIXME this used to be a PTR_CAST, but when I updated the macro, I discovered that SfxViewShell is not statically castable to sd::ViewShell
+ ViewShell* pViewSh = (pSfxViewSh && pSfxViewSh->IsA( TYPE(ViewShell) )) ? dynamic_cast<ViewShell*>(pSfxViewSh) : 0;
if ( pViewSh && pViewSh->GetFrameView() )
{
@@ -321,8 +320,9 @@ void DrawDocShell::InPlaceActivate( bool bActive )
for( sal_uInt32 i = 0; pSfxViewFrame && (i < rViews.size()); i++ )
{
// determine the number of FrameViews
- pSfxViewSh = pSfxViewFrame->GetViewShell();
- pViewSh = PTR_CAST( ViewShell, pSfxViewSh );
+ SfxViewShell* pSfxViewSh = pSfxViewFrame->GetViewShell();
+ // FIXME this used to be a PTR_CAST, but when I updated the macro, I discovered that SfxViewShell is not statically castable to sd::ViewShell
+ ViewShell* pViewSh = (pSfxViewSh && pSfxViewSh->IsA( TYPE(ViewShell) )) ? dynamic_cast<ViewShell*>(pSfxViewSh) : 0;
if ( pViewSh )
{