[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - 4 commits - cui/source include/svx include/vcl svx/source vcl/source
Tamás Zolnai
tamas.zolnai at collabora.com
Mon Feb 12 18:01:30 UTC 2018
cui/source/dialogs/sdrcelldlg.cxx | 2 +
cui/source/inc/cuitabarea.hxx | 8 +++--
cui/source/inc/sdrcelldlg.hxx | 1
cui/source/tabpages/backgrnd.cxx | 20 -------------
cui/source/tabpages/tparea.cxx | 1
cui/source/tabpages/tpcolor.cxx | 46 +++++++++++++------------------
include/svx/xtable.hxx | 1
include/vcl/ctrl.hxx | 2 -
include/vcl/window.hxx | 2 -
svx/source/xoutdev/xtabcolr.cxx | 13 ++++++++
vcl/source/control/ctrl.cxx | 18 ------------
vcl/source/window/paint.cxx | 55 +++++++++++++++++++++++++++++++++-----
12 files changed, 91 insertions(+), 78 deletions(-)
New commits:
commit dc6b1c2329bb744fb5e8c33749dcff34553645da
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
Date: Sat Feb 10 17:31:44 2018 +0100
lokdialog: Render non-pixel based preview windows
PaintToDevice() method was designed for pixel based windows,
now I added some scaling to handle different units.
Reviewed-on: https://gerrit.libreoffice.org/49543
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
(cherry picked from commit d6a2dc03806c4e7c0be8e4f2aee272f036f4765e)
Signed-off-by: Andras Timar <andras.timar at collabora.com>
Change-Id: Id242c44101c1e842409ba3a9b13291e48bdd44ca
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 54341c5e4039..d88e04823ed8 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -1229,7 +1229,7 @@ void Window::LogicInvalidate(const Rectangle* pRectangle)
// Added for dialog items. Pass invalidation to the parent window.
else if (VclPtr<vcl::Window> pParent = GetParentWithLOKNotifier())
{
- const tools::Rectangle aRect(Point(GetOutOffXPixel(), GetOutOffYPixel()), Size(GetOutputWidthPixel(), GetOutputHeightPixel()));
+ const Rectangle aRect(Point(GetOutOffXPixel(), GetOutOffYPixel()), Size(GetOutputWidthPixel(), GetOutputHeightPixel()));
pParent->LogicInvalidate(&aRect);
}
}
@@ -1356,9 +1356,29 @@ void Window::ImplPaintToDevice( OutputDevice* i_pTargetOutDev, const Point& i_rP
bool bOutput = IsOutputEnabled();
EnableOutput();
+ double fScaleX = 1;
+ double fScaleY = 1;
+ bool bNeedsScaling = false;
+ if(comphelper::LibreOfficeKit::isActive())
+ {
+ if(GetMapMode().GetMapUnit() != MapUnit::MapPixel &&
+ // Some of the preview windows (SvxPreviewBase) uses different painting (drawinglayer primitives)
+ // For these preview we don't need to scale even tough the unit is not pixel.
+ GetMapMode().GetMapUnit() != MapUnit::Map100thMM)
+ {
+ bNeedsScaling = true;
+ // 1000.0 is used to reduce rounding imprecision (Size uses integers)
+ Size aLogicSize = PixelToLogic(Size(1000.0, 1000.0));
+ fScaleX = aLogicSize.Width() / 1000.0;
+ fScaleY = aLogicSize.Height() / 1000.0;
+ }
+ }
+ else
+ { // TODO: Above scaling was added for LOK only, would be good to check how it works in other use cases
SAL_WARN_IF( GetMapMode().GetMapUnit() != MapUnit::MapPixel, "vcl", "MapMode must be PIXEL based" );
- if ( GetMapMode().GetMapUnit() != MapUnit::MapPixel )
- return;
+ if ( GetMapMode().GetMapUnit() != MapUnit::MapPixel )
+ return;
+ }
// preserve graphicsstate
Push();
@@ -1408,7 +1428,17 @@ void Window::ImplPaintToDevice( OutputDevice* i_pTargetOutDev, const Point& i_rP
SetRefPoint();
SetLayoutMode( GetLayoutMode() );
SetDigitLanguage( GetDigitLanguage() );
- Rectangle aPaintRect( Point( 0, 0 ), GetOutputSizePixel() );
+
+ Rectangle aPaintRect;
+ if(bNeedsScaling)
+ {
+ aPaintRect = Rectangle( Point( 0, 0 ),
+ Size(GetOutputSizePixel().Width() * fScaleX, GetOutputSizePixel().Height() * fScaleY) );
+ }
+ else
+ {
+ aPaintRect = Rectangle( Point( 0, 0 ), GetOutputSizePixel() );
+ }
aClipRegion.Intersect( aPaintRect );
SetClipRegion( aClipRegion );
@@ -1416,7 +1446,11 @@ void Window::ImplPaintToDevice( OutputDevice* i_pTargetOutDev, const Point& i_rP
// background
if( ! IsPaintTransparent() && IsBackground() && ! (GetParentClipMode() & ParentClipMode::NoClip ) )
+ {
Erase(*this);
+ if(bNeedsScaling)
+ aMtf.Scale(fScaleX, fScaleY);
+ }
// foreground
Paint(*this, aPaintRect);
// put a pop action to metafile
@@ -1430,11 +1464,14 @@ void Window::ImplPaintToDevice( OutputDevice* i_pTargetOutDev, const Point& i_rP
VclPtrInstance<VirtualDevice> pMaskedDevice(*i_pTargetOutDev,
DeviceFormat::DEFAULT,
DeviceFormat::DEFAULT);
+
+ if(bNeedsScaling)
+ pMaskedDevice->SetMapMode( GetMapMode() );
pMaskedDevice->SetOutputSizePixel( GetOutputSizePixel() );
pMaskedDevice->EnableRTL( IsRTLEnabled() );
aMtf.WindStart();
aMtf.Play( pMaskedDevice );
- BitmapEx aBmpEx( pMaskedDevice->GetBitmapEx( Point( 0, 0 ), pMaskedDevice->GetOutputSizePixel() ) );
+ BitmapEx aBmpEx( pMaskedDevice->GetBitmapEx( Point( 0, 0 ), aPaintRect.GetSize() ) );
i_pTargetOutDev->DrawBitmapEx( i_rPos, aBmpEx );
// get rid of virtual device now so they don't pile up during recursive calls
pMaskedDevice.disposeAndClear();
@@ -1467,8 +1504,6 @@ void Window::ImplPaintToDevice( OutputDevice* i_pTargetOutDev, const Point& i_rP
void Window::PaintToDevice( OutputDevice* pDev, const Point& rPos, const Size& /*rSize*/ )
{
- // FIXME: scaling: currently this is for pixel copying only
-
SAL_WARN_IF( pDev->HasMirroredGraphics(), "vcl", "PaintToDevice to mirroring graphics" );
SAL_WARN_IF( pDev->IsRTLEnabled(), "vcl", "PaintToDevice to mirroring device" );
commit 1c5ba7f055f8dc9f2ff081ad0e8509a18e74c61c
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
Date: Sat Feb 10 13:24:21 2018 +0100
lokdialog: Handle dialog items' invalidation in general
Reviewed-on: https://gerrit.libreoffice.org/49240
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
(cherry picked from commit b33287cde2d270d83e2658529be768a99dba98f0)
Signed-off-by: Andras Timar <andras.timar at collabora.com>
Change-Id: Ib7b178fe97964bc5fd6ac173a143ba8ba089e237
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index ed04e696199c..8fd4f9337850 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -163,7 +163,6 @@ protected:
virtual void Paint( vcl::RenderContext& /*rRenderContext*/, const Rectangle& rRect ) override;
virtual void DataChanged( const DataChangedEvent& rDCEvt ) override;
virtual void Resize() override;
- virtual void LogicInvalidate(const Rectangle* pRectangle) override;
private:
@@ -325,25 +324,6 @@ void BackgroundPreviewImpl::DataChanged( const DataChangedEvent& rDCEvt )
Window::DataChanged( rDCEvt );
}
-
-void BackgroundPreviewImpl::LogicInvalidate(const Rectangle* /*pRectangle*/)
-{
- // Invalidate the container dialog or floating window
- // The code is same as in Control::LogicInvalidate() method
- if (comphelper::LibreOfficeKit::isActive() && !comphelper::LibreOfficeKit::isDialogPainting())
- {
- if (VclPtr<vcl::Window> pParent = GetParentWithLOKNotifier())
- {
- // invalidate the complete floating window for now
- if (pParent->ImplIsFloatingWindow())
- return pParent->LogicInvalidate(nullptr);
-
- const Rectangle aRect(Point(GetOutOffXPixel(), GetOutOffYPixel()), Size(GetOutputWidthPixel(), GetOutputHeightPixel()));
- pParent->LogicInvalidate(&aRect);
- }
- }
-}
-
#define HDL(hdl) LINK(this,SvxBackgroundTabPage,hdl)
SvxBackgroundTabPage::SvxBackgroundTabPage(vcl::Window* pParent, const SfxItemSet& rCoreSet)
diff --git a/include/vcl/ctrl.hxx b/include/vcl/ctrl.hxx
index c9768a653a50..63fb36c87a1a 100644
--- a/include/vcl/ctrl.hxx
+++ b/include/vcl/ctrl.hxx
@@ -44,8 +44,6 @@ private:
SAL_DLLPRIVATE void ImplInitControlData();
- virtual void LogicInvalidate(const Rectangle* pRectangle) override;
-
Control (const Control &) = delete;
Control & operator= (const Control &) = delete;
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index dcdaddc75c12..7f15b5dac267 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -560,7 +560,7 @@ public:
SAL_DLLPRIVATE bool ImplIsWindowOrChild( const vcl::Window* pWindow, bool bSystemWindow = false ) const;
SAL_DLLPRIVATE bool ImplIsChild( const vcl::Window* pWindow, bool bSystemWindow = false ) const;
- bool ImplIsFloatingWindow() const;
+ SAL_DLLPRIVATE bool ImplIsFloatingWindow() const;
SAL_DLLPRIVATE bool ImplIsPushButton() const;
SAL_DLLPRIVATE bool ImplIsSplitter() const;
SAL_DLLPRIVATE bool ImplIsOverlapWindow() const;
diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index 15c3a4ea61cf..007b430f580f 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -415,24 +415,6 @@ void Control::ImplInitSettings(const bool, const bool)
ApplySettings(*this);
}
-void Control::LogicInvalidate(const Rectangle* /*pRectangle*/)
-{
- // Several repaint, resize invalidations are emitted when we are painting,
- // ignore all of those
- if (comphelper::LibreOfficeKit::isActive() && !comphelper::LibreOfficeKit::isDialogPainting())
- {
- if (VclPtr<vcl::Window> pParent = GetParentWithLOKNotifier())
- {
- // invalidate the complete floating window for now
- if (pParent->ImplIsFloatingWindow())
- return pParent->LogicInvalidate(nullptr);
-
- const Rectangle aRect(Point(GetOutOffXPixel(), GetOutOffYPixel()), Size(GetOutputWidthPixel(), GetOutputHeightPixel()));
- pParent->LogicInvalidate(&aRect);
- }
- }
-}
-
Rectangle Control::DrawControlText( OutputDevice& _rTargetDevice, const Rectangle& rRect, const OUString& _rStr,
DrawTextFlags _nStyle, MetricVector* _pVector, OUString* _pDisplayText, const Size* i_pDeviceSize ) const
{
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index a3fe6a6612b3..54341c5e4039 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -1214,7 +1214,7 @@ void Window::Invalidate( const vcl::Region& rRegion, InvalidateFlags nFlags )
void Window::LogicInvalidate(const Rectangle* pRectangle)
{
- if (comphelper::LibreOfficeKit::isDialogPainting())
+ if (comphelper::LibreOfficeKit::isDialogPainting() || !comphelper::LibreOfficeKit::isActive())
return;
if (const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier())
@@ -1226,6 +1226,12 @@ void Window::LogicInvalidate(const Rectangle* pRectangle)
pNotifier->notifyWindow(GetLOKWindowId(), "invalidate", aPayload);
}
+ // Added for dialog items. Pass invalidation to the parent window.
+ else if (VclPtr<vcl::Window> pParent = GetParentWithLOKNotifier())
+ {
+ const tools::Rectangle aRect(Point(GetOutOffXPixel(), GetOutOffYPixel()), Size(GetOutputWidthPixel(), GetOutputHeightPixel()));
+ pParent->LogicInvalidate(&aRect);
+ }
}
void Window::Validate()
commit d319b8ea37122b494992c76fd9dc890b95e48e01
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Thu Feb 16 22:29:10 2017 +0100
tdf#103224: Get the initial colour right
Change-Id: I59309f5b433eb7aa92d05ce7d373d69cb413b258
Reviewed-on: https://gerrit.libreoffice.org/34383
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
(cherry picked from commit f35e6f2504384ad66b475d39849ed10987b2da53)
Signed-off-by: Andras Timar <andras.timar at collabora.com>
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index dd941f844e28..fd11015ad623 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -734,7 +734,6 @@ private:
XColorListRef pColorList;
ChangeType* pnColorListState;
- sal_Int32* pPos;
XFillStyleItem aXFStyleItem;
XFillColorItem aXFillColorItem;
@@ -754,6 +753,7 @@ private:
void ImpColorCountChanged();
void FillPaletteLB();
+ long FindColorInPalette(const OUString& rPaletteName) const;
DECL_LINK( ClickAddHdl_Impl, Button*, void );
DECL_LINK( ClickWorkOnHdl_Impl, Button*, void );
@@ -766,11 +766,14 @@ private:
void SetColorModel(ColorModel eModel);
void ChangeColorModel();
void UpdateColorValues( bool bUpdatePreset = true );
- static sal_Int32 SearchColorList(OUString const & aColorName);
DECL_LINK( ModifiedHdl_Impl, Edit&, void );
void UpdateModified();
css::uno::Reference< css::uno::XComponentContext > m_context;
+
+ static sal_Int32 FindInCustomColors( OUString const & aColorName );
+ sal_Int32 FindInPalette( const Color& rColor );
+
public:
SvxColorTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
virtual ~SvxColorTabPage() override;
@@ -786,7 +789,6 @@ public:
virtual DeactivateRC DeactivatePage( SfxItemSet* pSet ) override;
void SetPropertyList( XPropertyListType t, const XPropertyListRef &xRef );
- void SetPos( sal_Int32* pInPos ) { pPos = pInPos; }
void SetColorList( const XColorListRef& pColList );
diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index f2a054df2e55..d2e358c21ef7 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -401,7 +401,6 @@ void SvxAreaTabPage::CreatePage( sal_Int32 nId, SfxTabPage* pTab )
if(nId == SOLID )
{
static_cast<SvxColorTabPage*>(pTab)->SetColorList( m_pColorList );
- static_cast<SvxColorTabPage*>(pTab)->SetPos( &m_nPos );
static_cast<SvxColorTabPage*>(pTab)->SetColorChgd( m_pnColorListState );
static_cast<SvxColorTabPage*>(pTab)->Construct();
static_cast<SvxColorTabPage*>(pTab)->ActivatePage( m_rXFSet );
diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx
index e4545b497d6e..62a1515d3f5d 100644
--- a/cui/source/tabpages/tpcolor.cxx
+++ b/cui/source/tabpages/tpcolor.cxx
@@ -59,7 +59,6 @@ SvxColorTabPage::SvxColorTabPage(vcl::Window* pParent, const SfxItemSet& rInAttr
, rOutAttrs ( rInAttrs )
// All the horrific pointers we store and should not
, pnColorListState( nullptr )
- , pPos( nullptr )
, aXFStyleItem( drawing::FillStyle_SOLID )
, aXFillColorItem( OUString(), Color( COL_BLACK ) )
, aXFillAttr( rInAttrs.GetPool() )
@@ -239,38 +238,26 @@ void SvxColorTabPage::ActivatePage( const SfxItemSet& )
{
if( pColorList.is() )
{
- if( *pPos != LISTBOX_ENTRY_NOTFOUND )
+ const SfxPoolItem* pPoolItem = nullptr;
+ if( SfxItemState::SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) )
{
- m_pValSetColorList->SelectItem( m_pValSetColorList->GetItemId( static_cast<size_t>(*pPos) ) );
- const XColorEntry* pEntry = pColorList->GetColor(*pPos);
- aPreviousColor = pEntry->GetColor();
- ChangeColor(pEntry->GetColor());
- }
- else if( *pPos == LISTBOX_ENTRY_NOTFOUND )
- {
- const SfxPoolItem* pPoolItem = nullptr;
- if( SfxItemState::SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) )
- {
- SetColorModel( ColorModel::RGB );
- ChangeColorModel();
+ SetColorModel( ColorModel::RGB );
+ ChangeColorModel();
- aPreviousColor = static_cast<const XFillColorItem*>(pPoolItem)->GetColorValue();
- ChangeColor( aPreviousColor );
+ const Color aColor = static_cast<const XFillColorItem*>(pPoolItem)->GetColorValue();
+ ChangeColor( aColor );
+ sal_Int32 nPos = FindInPalette( aColor );
- m_pRcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetRed() ) );
- m_pGcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetGreen() ) );
- m_pBcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetBlue() ) );
- m_pHexcustom->SetColor( aCurrentColor.GetColor() );
+ if ( nPos != -1 )
+ m_pValSetColorList->SelectItem( m_pValSetColorList->GetItemId( nPos ) );
+ // else search in other palettes?
- }
}
m_pCtlPreviewOld->SetAttributes( aXFillAttr.GetItemSet() );
m_pCtlPreviewOld->Invalidate();
SelectValSetHdl_Impl( m_pValSetColorList );
-
- *pPos = LISTBOX_ENTRY_NOTFOUND;
}
}
@@ -374,7 +361,7 @@ IMPL_LINK_NOARG(SvxColorTabPage, ClickAddHdl_Impl, Button*, void)
while (!bValidColorName)
{
aName = aNewName + " " + OUString::number( j++ );
- bValidColorName = (SearchColorList(aName) == LISTBOX_ENTRY_NOTFOUND);
+ bValidColorName = (FindInCustomColors(aName) == LISTBOX_ENTRY_NOTFOUND);
}
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
@@ -386,7 +373,7 @@ IMPL_LINK_NOARG(SvxColorTabPage, ClickAddHdl_Impl, Button*, void)
{
pDlg->GetName( aName );
- bValidColorName = (SearchColorList(aName) == LISTBOX_ENTRY_NOTFOUND);
+ bValidColorName = (FindInCustomColors(aName) == LISTBOX_ENTRY_NOTFOUND);
if (bValidColorName)
{
nError = 0;
@@ -662,7 +649,7 @@ void SvxColorTabPage::UpdateColorValues( bool bUpdatePreset )
}
}
-sal_Int32 SvxColorTabPage::SearchColorList(OUString const & aColorName)
+sal_Int32 SvxColorTabPage::FindInCustomColors(OUString const & aColorName)
{
css::uno::Sequence< OUString > aCustomColorNameList(officecfg::Office::Common::UserColors::CustomColorName::get());
long nCount = aCustomColorNameList.getLength();
@@ -680,6 +667,13 @@ sal_Int32 SvxColorTabPage::SearchColorList(OUString const & aColorName)
return nPos;
}
+sal_Int32 SvxColorTabPage::FindInPalette( const Color& rColor )
+{
+ sal_Int32 nPos = pColorList->GetIndexOfColor( rColor );
+
+ return ( nPos == -1) ? LISTBOX_ENTRY_NOTFOUND : nPos;
+}
+
// A RGB value is converted to a CMYK value - not in an ideal way as
// R is converted into C, G into M and B into Y. The K value is held in an
// extra variable. For further color models one should develop own
diff --git a/include/svx/xtable.hxx b/include/svx/xtable.hxx
index 1d781b970495..6039e151af3a 100644
--- a/include/svx/xtable.hxx
+++ b/include/svx/xtable.hxx
@@ -267,6 +267,7 @@ public:
void Replace(long nIndex, std::unique_ptr<XColorEntry> pEntry);
XColorEntry* GetColor(long nIndex) const;
+ long GetIndexOfColor( const Color& rColor) const;
virtual css::uno::Reference< css::container::XNameContainer > createInstance() override;
virtual bool Create() override;
diff --git a/svx/source/xoutdev/xtabcolr.cxx b/svx/source/xoutdev/xtabcolr.cxx
index 374f6fc9a6cb..44f881403580 100644
--- a/svx/source/xoutdev/xtabcolr.cxx
+++ b/svx/source/xoutdev/xtabcolr.cxx
@@ -157,4 +157,17 @@ Bitmap XColorList::CreateBitmapForUI( long /*nIndex*/ )
return Bitmap();
}
+long XColorList::GetIndexOfColor( const Color& rColor ) const
+{
+ for( long i = 0, n = maList.size(); i < n; ++i )
+ {
+ const Color aColor = static_cast<XColorEntry*>( maList[i].get() )->GetColor();
+
+ if (aColor == rColor )
+ return i;
+ }
+
+ return -1;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 0924f4049ca5081665e43fdadcf9d6452295c049
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
Date: Wed Feb 7 15:54:41 2018 +0100
tdf#115506: Crash when trying to set pattern fill for tables in Impress
Setting pattern list was missed in this specific dialog.
Change-Id: I9f47e9e0dd4f99bf5403c70685508b0f14a5bd61
Reviewed-on: https://gerrit.libreoffice.org/49361
Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
Tested-by: Jenkins <ci at libreoffice.org>
(cherry picked from commit de8a1b4f6c8fcca9fc9cc5ad83c393ecd7292f76)
Signed-off-by: Andras Timar <andras.timar at collabora.com>
diff --git a/cui/source/dialogs/sdrcelldlg.cxx b/cui/source/dialogs/sdrcelldlg.cxx
index d6e9244cb738..160477c157b9 100644
--- a/cui/source/dialogs/sdrcelldlg.cxx
+++ b/cui/source/dialogs/sdrcelldlg.cxx
@@ -34,6 +34,7 @@ SvxFormatCellsDialog::SvxFormatCellsDialog( vcl::Window* pParent, const SfxItemS
, mpGradientList(pModel->GetGradientList())
, mpHatchingList(pModel->GetHatchList())
, mpBitmapList(pModel->GetBitmapList())
+ , mpPatternList(pModel->GetPatternList())
, m_nAreaPageId(0)
{
AddTabPage("name", RID_SVXPAGE_CHAR_NAME);
@@ -51,6 +52,7 @@ void SvxFormatCellsDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
rAreaPage.SetGradientList( mpGradientList );
rAreaPage.SetHatchingList( mpHatchingList );
rAreaPage.SetBitmapList( mpBitmapList );
+ rAreaPage.SetPatternList( mpPatternList );;
rAreaPage.ActivatePage( mrOutAttrs );
}
else if (nId == m_nBorderPageId)
diff --git a/cui/source/inc/sdrcelldlg.hxx b/cui/source/inc/sdrcelldlg.hxx
index f5939979b96d..6b41e69fc8b3 100644
--- a/cui/source/inc/sdrcelldlg.hxx
+++ b/cui/source/inc/sdrcelldlg.hxx
@@ -34,6 +34,7 @@ private:
XGradientListRef mpGradientList;
XHatchListRef mpHatchingList;
XBitmapListRef mpBitmapList;
+ XPatternListRef mpPatternList;
sal_uInt16 m_nAreaPageId;
sal_uInt16 m_nBorderPageId;
More information about the Libreoffice-commits
mailing list