diff -Nur original/source/ui/view/reffact.cxx modified/source/ui/view/reffact.cxx --- original/source/ui/view/reffact.cxx 2012-08-01 11:32:28.765625000 -0700 +++ modified/source/ui/view/reffact.cxx 2012-08-01 11:34:00.046875000 -0700 @@ -217,13 +217,11 @@ // PTR_CAST( ScTabViewShell, SfxViewShell::Current() ); ScTabViewShell* pViewShell = NULL; - SfxDispatcher* pDisp = p->GetDispatcher(); - if ( pDisp ) - { - SfxViewFrame* pViewFrm = pDisp->GetFrame(); - if ( pViewFrm ) + SfxViewFrame* pViewFrm = NULL; + + if ( SfxDispatcher* pDisp = p->GetDispatcher() ) + if ( pViewFrm = pDisp->GetFrame() ) pViewShell = PTR_CAST( ScTabViewShell, pViewFrm->GetViewShell() ); - } DBG_ASSERT( pViewShell, "missing view shell :-(" ); @@ -239,10 +237,8 @@ if(bAutoReOpen && pViewShell) pWindow = pViewShell->CreateRefDialog( p, this, pInfo, pParentP, WID_SIMPLE_REF); - if (!pWindow) - { - SC_MOD()->SetRefDialog( nId, sal_False ); - } + if ( !pWindow && pViewFrm ) + pViewFrm->SetChildWindow( nId, sal_False ); } void ScSimpleRefDlgWrapper::SetDefaultPosSize(Point aPos, Size aSize, sal_Bool bSet)