Kaydet (Commit) 4dbce307 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Actually let's do these earlier so we can bail out early.

Change-Id: I1903efe4dba876e4d373cc329c66595840d7be81
üst 676c5a2a
...@@ -1411,6 +1411,9 @@ bool ScDBDocFunc::RemovePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi) ...@@ -1411,6 +1411,9 @@ bool ScDBDocFunc::RemovePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
ScDocShellModificator aModificator(rDocShell); ScDocShellModificator aModificator(rDocShell);
WaitObject aWait(rDocShell.GetActiveDialogParent()); WaitObject aWait(rDocShell.GetActiveDialogParent());
if (!isEditable(rDocShell, rDPObj.GetOutRange(), bApi))
return false;
SAL_WNODEPRECATED_DECLARATIONS_PUSH SAL_WNODEPRECATED_DECLARATIONS_PUSH
std::auto_ptr<ScDocument> pOldUndoDoc; std::auto_ptr<ScDocument> pOldUndoDoc;
std::auto_ptr<ScDPObject> pUndoDPObj; std::auto_ptr<ScDPObject> pUndoDPObj;
...@@ -1423,9 +1426,6 @@ bool ScDBDocFunc::RemovePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi) ...@@ -1423,9 +1426,6 @@ bool ScDBDocFunc::RemovePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
if (bRecord && !pDoc->IsUndoEnabled()) if (bRecord && !pDoc->IsUndoEnabled())
bRecord = false; bRecord = false;
if (!isEditable(rDocShell, rDPObj.GetOutRange(), bApi))
return false;
// delete table // delete table
ScRange aRange = rDPObj.GetOutRange(); ScRange aRange = rDPObj.GetOutRange();
...@@ -1468,6 +1468,10 @@ bool ScDBDocFunc::CreatePivotTable(const ScDPObject& rDPObj, bool bRecord, bool ...@@ -1468,6 +1468,10 @@ bool ScDBDocFunc::CreatePivotTable(const ScDPObject& rDPObj, bool bRecord, bool
ScDocShellModificator aModificator(rDocShell); ScDocShellModificator aModificator(rDocShell);
WaitObject aWait(rDocShell.GetActiveDialogParent()); WaitObject aWait(rDocShell.GetActiveDialogParent());
// At least one cell in the output range should be editable. Check in advance.
if (!isEditable(rDocShell, ScRange(rDPObj.GetOutRange().aStart), bApi))
return false;
SAL_WNODEPRECATED_DECLARATIONS_PUSH SAL_WNODEPRECATED_DECLARATIONS_PUSH
std::auto_ptr<ScDocument> pNewUndoDoc; std::auto_ptr<ScDocument> pNewUndoDoc;
SAL_WNODEPRECATED_DECLARATIONS_POP SAL_WNODEPRECATED_DECLARATIONS_POP
...@@ -1476,10 +1480,6 @@ bool ScDBDocFunc::CreatePivotTable(const ScDPObject& rDPObj, bool bRecord, bool ...@@ -1476,10 +1480,6 @@ bool ScDBDocFunc::CreatePivotTable(const ScDPObject& rDPObj, bool bRecord, bool
if (bRecord && !pDoc->IsUndoEnabled()) if (bRecord && !pDoc->IsUndoEnabled())
bRecord = false; bRecord = false;
// At least one cell in the output range should be editable. Check in advance.
if (!isEditable(rDocShell, ScRange(rDPObj.GetOutRange().aStart), bApi))
return false;
// output range must be set at pNewObj // output range must be set at pNewObj
SAL_WNODEPRECATED_DECLARATIONS_PUSH SAL_WNODEPRECATED_DECLARATIONS_PUSH
std::auto_ptr<ScDPObject> pDestObj(new ScDPObject(rDPObj)); std::auto_ptr<ScDPObject> pDestObj(new ScDPObject(rDPObj));
...@@ -1578,6 +1578,9 @@ bool ScDBDocFunc::UpdatePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi) ...@@ -1578,6 +1578,9 @@ bool ScDBDocFunc::UpdatePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
ScDocShellModificator aModificator( rDocShell ); ScDocShellModificator aModificator( rDocShell );
WaitObject aWait( rDocShell.GetActiveDialogParent() ); WaitObject aWait( rDocShell.GetActiveDialogParent() );
if (!isEditable(rDocShell, rDPObj.GetOutRange(), bApi))
return false;
SAL_WNODEPRECATED_DECLARATIONS_PUSH SAL_WNODEPRECATED_DECLARATIONS_PUSH
std::auto_ptr<ScDocument> pOldUndoDoc; std::auto_ptr<ScDocument> pOldUndoDoc;
std::auto_ptr<ScDocument> pNewUndoDoc; std::auto_ptr<ScDocument> pNewUndoDoc;
...@@ -1589,9 +1592,6 @@ bool ScDBDocFunc::UpdatePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi) ...@@ -1589,9 +1592,6 @@ bool ScDBDocFunc::UpdatePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
if (bRecord && !pDoc->IsUndoEnabled()) if (bRecord && !pDoc->IsUndoEnabled())
bRecord = false; bRecord = false;
if (!isEditable(rDocShell, rDPObj.GetOutRange(), bApi))
return false;
if (bRecord) if (bRecord)
{ {
ScRange aRange = rDPObj.GetOutRange(); ScRange aRange = rDPObj.GetOutRange();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment