Kaydet (Commit) f2bd68c3 authored tarafından Julien Nabet's avatar Julien Nabet

tdf#120152: fix adding labels in reportdesign

Regression from:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=4b4942224b550235da228655677b5c068a053254

Change-Id: I7935f11e82410574e64cf3d50ea4e2e3791f0487
Reviewed-on: https://gerrit.libreoffice.org/61146
Tested-by: Jenkins
Reviewed-by: 's avatarJulien Nabet <serval2412@yahoo.fr>
üst 45385a53
...@@ -95,6 +95,8 @@ public: ...@@ -95,6 +95,8 @@ public:
sal_uInt16 _nControlObjectID, sal_uInt16 _nControlObjectID,
SdrInventor _nInventor, SdrInventor _nInventor,
sal_uInt16 _nLabelObjectID, sal_uInt16 _nLabelObjectID,
SdrPage* _pLabelPage,
SdrPage* _pControlPage,
// tdf#118963 Need a SdrModel for SdrObject creation. To make the // tdf#118963 Need a SdrModel for SdrObject creation. To make the
// demand clear, hand over a SdrMldel& // demand clear, hand over a SdrMldel&
......
...@@ -3146,6 +3146,8 @@ void OReportController::createControl(const Sequence< PropertyValue >& _aArgs,co ...@@ -3146,6 +3146,8 @@ void OReportController::createControl(const Sequence< PropertyValue >& _aArgs,co
_nObjectId, _nObjectId,
SdrInventor::ReportDesign, SdrInventor::ReportDesign,
OBJ_DLG_FIXEDTEXT, OBJ_DLG_FIXEDTEXT,
nullptr,
pSectionWindow->getReportSection().getPage(),
// tdf#118963 Need a SdrModel for SdrObject creation. Dereferencing // tdf#118963 Need a SdrModel for SdrObject creation. Dereferencing
// m_aReportModel seems pretty safe, it's done in other places, initialized // m_aReportModel seems pretty safe, it's done in other places, initialized
...@@ -3453,6 +3455,8 @@ void OReportController::addPairControls(const Sequence< PropertyValue >& aArgs) ...@@ -3453,6 +3455,8 @@ void OReportController::addPairControls(const Sequence< PropertyValue >& aArgs)
nOBJID, nOBJID,
SdrInventor::ReportDesign, SdrInventor::ReportDesign,
OBJ_DLG_FIXEDTEXT, OBJ_DLG_FIXEDTEXT,
pSectionWindow[1]->getReportSection().getPage(),
pSectionWindow[0]->getReportSection().getPage(),
// tdf#118963 Need a SdrModel for SdrObject creation. Dereferencing // tdf#118963 Need a SdrModel for SdrObject creation. Dereferencing
// m_aReportModel seems pretty safe, it's done in other places, initialized // m_aReportModel seems pretty safe, it's done in other places, initialized
......
...@@ -566,7 +566,7 @@ FmFormObj* FmFormView::getMarkedGrid() const ...@@ -566,7 +566,7 @@ FmFormObj* FmFormView::getMarkedGrid() const
void FmFormView::createControlLabelPair( OutputDevice const * _pOutDev, sal_Int32 _nXOffsetMM, sal_Int32 _nYOffsetMM, void FmFormView::createControlLabelPair( OutputDevice const * _pOutDev, sal_Int32 _nXOffsetMM, sal_Int32 _nYOffsetMM,
const Reference< XPropertySet >& _rxField, const Reference< XNumberFormats >& _rxNumberFormats, const Reference< XPropertySet >& _rxField, const Reference< XNumberFormats >& _rxNumberFormats,
sal_uInt16 _nControlObjectID, SdrInventor _nInventor, sal_uInt16 _nLabelObjectID, sal_uInt16 _nControlObjectID, SdrInventor _nInventor, sal_uInt16 _nLabelObjectID,
SdrModel& _rModel, SdrPage* _pLabelPage, SdrPage* _pControlPage, SdrModel& _rModel,
std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpLabel, std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpLabel,
std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpControl ) std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpControl )
{ {
...@@ -574,7 +574,7 @@ void FmFormView::createControlLabelPair( OutputDevice const * _pOutDev, sal_Int3 ...@@ -574,7 +574,7 @@ void FmFormView::createControlLabelPair( OutputDevice const * _pOutDev, sal_Int3
*_pOutDev, _nXOffsetMM, _nYOffsetMM, *_pOutDev, _nXOffsetMM, _nYOffsetMM,
_rxField, _rxNumberFormats, _rxField, _rxNumberFormats,
_nControlObjectID, "", _nInventor, _nLabelObjectID, _nControlObjectID, "", _nInventor, _nLabelObjectID,
_rModel, _pLabelPage, _pControlPage, _rModel,
_rpLabel, _rpControl _rpLabel, _rpControl
); );
} }
......
...@@ -1526,6 +1526,8 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int ...@@ -1526,6 +1526,8 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int
_rFieldPostfix, _rFieldPostfix,
SdrInventor::FmForm, SdrInventor::FmForm,
OBJ_FM_FIXEDTEXT, OBJ_FM_FIXEDTEXT,
nullptr,
nullptr,
// tdf#118963 Hand over a SdrModel to SdrObject-creation. It uses the local m_pView // tdf#118963 Hand over a SdrModel to SdrObject-creation. It uses the local m_pView
// and already returning false when nullptr == getView() could be done, but m_pView // and already returning false when nullptr == getView() could be done, but m_pView
...@@ -1557,7 +1559,7 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int ...@@ -1557,7 +1559,7 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int
const Reference< XPropertySet >& _rxField, const Reference< XPropertySet >& _rxField,
const Reference< XNumberFormats >& _rxNumberFormats, sal_uInt16 _nControlObjectID, const Reference< XNumberFormats >& _rxNumberFormats, sal_uInt16 _nControlObjectID,
const OUString& _rFieldPostfix, SdrInventor _nInventor, sal_uInt16 _nLabelObjectID, const OUString& _rFieldPostfix, SdrInventor _nInventor, sal_uInt16 _nLabelObjectID,
SdrModel& _rModel, SdrPage* _pLabelPage, SdrPage* _pControlPage, SdrModel& _rModel,
std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpLabel, std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpControl) std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpLabel, std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpControl)
{ {
sal_Int32 nDataType = 0; sal_Int32 nDataType = 0;
...@@ -1604,6 +1606,7 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int ...@@ -1604,6 +1606,7 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int
_rModel, _rModel,
_nInventor, _nInventor,
_nLabelObjectID))); _nLabelObjectID)));
_pLabelPage->NbcInsertObject(pLabel.get());
OSL_ENSURE( pLabel.get(), "FmXFormView::createControlLabelPair: could not create the label!" ); OSL_ENSURE( pLabel.get(), "FmXFormView::createControlLabelPair: could not create the label!" );
...@@ -1636,6 +1639,7 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int ...@@ -1636,6 +1639,7 @@ bool FmXFormView::createControlLabelPair( OutputDevice const & _rOutDev, sal_Int
_rModel, _rModel,
_nInventor, _nInventor,
_nControlObjectID))); _nControlObjectID)));
_pControlPage->NbcInsertObject(pControl.get());
OSL_ENSURE( pControl.get(), "FmXFormView::createControlLabelPair: could not create the control!" ); OSL_ENSURE( pControl.get(), "FmXFormView::createControlLabelPair: could not create the control!" );
......
...@@ -263,6 +263,8 @@ private: ...@@ -263,6 +263,8 @@ private:
// tdf#118963 Need a SdrModel for SdrObject creation. To make the // tdf#118963 Need a SdrModel for SdrObject creation. To make the
// demand clear, hand over a SdrMldel& // demand clear, hand over a SdrMldel&
SdrPage* _pLabelPage,
SdrPage* _pControlPage,
SdrModel& _rModel, SdrModel& _rModel,
std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpLabel, std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpLabel,
......
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