_SplitPanelImpl* pSplitPanelImpl = _SplitPanelImpl::GetInstance(*this);
SysAssertf(pSplitPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
- return pSplitPanelImpl->SetPane(const_cast <_ControlImpl*>(_ControlImpl::GetInstance(*pControl)), paneOrder);
+ if (pControl == null)
+ {
+ return pSplitPanelImpl->SetPane(null, paneOrder);
+ }
+
+ _ControlImpl* pImpl = _ControlImpl::GetInstance(*pControl);
+ SysAssertf(pImpl != null, "Parameter pControl is not yet constructed. Construct() should be called before use.");
+
+ return pSplitPanelImpl->SetPane(pImpl, paneOrder);
}
Control*
if (paneOrder == SPLIT_PANEL_PANE_ORDER_FIRST)
{
- r = __pFirstPaneParent->AttachChild(*pControl);
- SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ if (pControl != null)
+ {
+ r = __pFirstPaneParent->AttachChild(*pControl);
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ }
__pFirstPane = pControl;
}
else
{
- r = __pSecondPaneParent->AttachChild(*pControl);
- SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ if (pControl != null)
+ {
+ r = __pSecondPaneParent->AttachChild(*pControl);
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ }
__pSecondPane = pControl;
}