[Libreoffice-commits] core.git: Branch 'distro/collabora/co-2021' - 17 commits - connectivity/source cui/source dbaccess/source external/firebird include/svtools include/svx include/vcl readlicense_oo/license sc/source svl/source svtools/source svx/source sw/source sw/uiconfig vcl/inc vcl/qt5 vcl/source vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Thu Sep 30 09:02:46 UTC 2021
connectivity/source/commontools/dbconversion.cxx | 9
connectivity/source/drivers/dbase/DTable.cxx | 13
cui/source/options/optgdlg.cxx | 8
dbaccess/source/ui/browser/dsEntriesNoExp.cxx | 56
dbaccess/source/ui/browser/unodatbr.cxx | 12
dbaccess/source/ui/inc/unodatbr.hxx | 5
dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx | 4
external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1 | 41
external/firebird/UnpackedTarball_firebird.mk | 1
include/svtools/editbrowsebox.hxx | 21
include/svx/weldeditview.hxx | 1
include/vcl/bitmapaccess.hxx | 35
readlicense_oo/license/CREDITS.fodt | 3742 +++++-----
sc/source/ui/app/inputwin.cxx | 7
sc/source/ui/inc/inputwin.hxx | 1
svl/source/numbers/zforfind.cxx | 5
svtools/source/brwbox/ebbcontrols.cxx | 33
svx/source/dialog/weldeditview.cxx | 4
svx/source/fmcomp/gridcell.cxx | 165
svx/source/inc/gridcell.hxx | 5
sw/source/core/layout/paintfrm.cxx | 4
sw/source/uibase/dbui/mailmergetoolbarcontrols.cxx | 2
sw/uiconfig/swriter/ui/mmresultemaildialog.ui | 1
vcl/inc/qt5/Qt5Frame.hxx | 8
vcl/inc/qt5/Qt5Instance.hxx | 1
vcl/qt5/Qt5Frame.cxx | 34
vcl/qt5/Qt5Instance.cxx | 18
vcl/source/gdi/bmpacc.cxx | 4
vcl/unx/gtk3/gtk3gtkinst.cxx | 7
vcl/unx/kf5/KF5SalFrame.cxx | 24
vcl/unx/kf5/KF5SalFrame.hxx | 6
vcl/unx/kf5/KF5SalInstance.cxx | 16
vcl/unx/kf5/KF5SalInstance.hxx | 1
33 files changed, 2242 insertions(+), 2052 deletions(-)
New commits:
commit 973296a9ee257c4dcd5c599cc6333e43ac86754d
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Sep 20 11:44:50 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:02:04 2021 +0200
Resolves: tdf#144564 don't query siblings and parent to determine type
because this is used during sorting of the tree elements so its position
isn't necessarily meaningful during the sort. DBTreeListUserData is
supposed to exist for elements not staged for removal and that already
has the type as a member
Change-Id: Ie1004dbcdca2fae8711941d98a084103a0b15815
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122355
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
Tested-by: Jenkins
(cherry picked from commit 7d5a4c031221d8099c554a84684ce42b0390be1f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122744
diff --git a/dbaccess/source/ui/browser/dsEntriesNoExp.cxx b/dbaccess/source/ui/browser/dsEntriesNoExp.cxx
index 0db9f29f5236..debc3fa51a67 100644
--- a/dbaccess/source/ui/browser/dsEntriesNoExp.cxx
+++ b/dbaccess/source/ui/browser/dsEntriesNoExp.cxx
@@ -55,59 +55,9 @@ OUString SbaTableQueryBrowser::GetEntryText(const weld::TreeIter& rEntry) const
SbaTableQueryBrowser::EntryType SbaTableQueryBrowser::getEntryType(const weld::TreeIter& rEntry) const
{
- std::unique_ptr<weld::TreeIter> xRootEntry = m_pTreeView->GetRootLevelParent(&rEntry);
- weld::TreeView& rTreeView = m_pTreeView->GetWidget();
-
- if (rTreeView.iter_compare(*xRootEntry, rEntry) == 0)
- return etDatasource;
-
- std::unique_ptr<weld::TreeIter> xEntryParent(rTreeView.make_iterator(&rEntry));
- if (!rTreeView.iter_parent(*xEntryParent))
- xEntryParent.reset();
-
- std::unique_ptr<weld::TreeIter> xTables;
- std::unique_ptr<weld::TreeIter> xQueries;
-
- std::unique_ptr<weld::TreeIter> xContainer = rTreeView.make_iterator(xRootEntry.get());
- if (rTreeView.iter_children(*xContainer))
- {
- // 1st child is queries
- xQueries = rTreeView.make_iterator(xContainer.get());
-
- if (rTreeView.iter_next_sibling(*xContainer))
- {
- // 2nd child is tables
- xTables = rTreeView.make_iterator(xContainer.get());
- }
- }
-
- if (xTables && rTreeView.iter_compare(*xTables, rEntry) == 0)
- return etTableContainer;
-
- if (xQueries && rTreeView.iter_compare(*xQueries, rEntry) == 0)
- return etQueryContainer;
-
- if (xTables && xEntryParent && rTreeView.iter_compare(*xTables, *xEntryParent) == 0)
- return etTableOrView;
-
- if (xQueries && xEntryParent)
- {
- if (rTreeView.iter_compare(*xQueries, *xEntryParent) == 0)
- {
- DBTreeListUserData* pEntryData = reinterpret_cast<DBTreeListUserData*>(rTreeView.get_id(rEntry).toUInt64());
- if (pEntryData)
- return pEntryData->eType;
- return etQuery;
- }
-
- while (rTreeView.iter_compare(*xEntryParent, *xQueries) != 0)
- {
- if (!rTreeView.iter_parent(*xEntryParent))
- return etUnknown;
- }
- }
-
- return etQueryContainer;
+ const weld::TreeView& rTreeView = m_pTreeView->GetWidget();
+ DBTreeListUserData* pEntryData = reinterpret_cast<DBTreeListUserData*>(rTreeView.get_id(rEntry).toUInt64());
+ return pEntryData ? pEntryData->eType : etUnknown;
}
void SbaTableQueryBrowser::select(const weld::TreeIter* pEntry, bool bSelect)
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index be1d04927957..3548ca399e96 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -1183,7 +1183,7 @@ std::unique_ptr<weld::TreeIter> SbaTableQueryBrowser::getObjectEntry(const OUStr
{
pEntryData->eType = etQueryContainer;
}
- implAppendEntry(xObject.get(), sPath, pEntryData, pEntryData->eType);
+ implAppendEntry(xObject.get(), sPath, pEntryData);
}
}
}
@@ -2107,7 +2107,7 @@ void SbaTableQueryBrowser::populateTree(const Reference<XNameAccess>& _xNameAcce
if ( xChild.is() )
pEntryData->eType = etQueryContainer;
}
- implAppendEntry(&rParent, rName, pEntryData, pEntryData->eType);
+ implAppendEntry(&rParent, rName, pEntryData);
}
}
}
@@ -2119,8 +2119,10 @@ void SbaTableQueryBrowser::populateTree(const Reference<XNameAccess>& _xNameAcce
rTreeView.make_sorted();
}
-std::unique_ptr<weld::TreeIter> SbaTableQueryBrowser::implAppendEntry(const weld::TreeIter* pParent, const OUString& rName, void* pUserData, EntryType eEntryType)
+std::unique_ptr<weld::TreeIter> SbaTableQueryBrowser::implAppendEntry(const weld::TreeIter* pParent, const OUString& rName, DBTreeListUserData* pUserData)
{
+ EntryType eEntryType = pUserData->eType;
+
std::unique_ptr<ImageProvider> xImageProvider(getImageProviderFor(pParent));
OUString aImage = xImageProvider->getImageId(rName, getDatabaseObjectType(eEntryType));
@@ -2776,7 +2778,7 @@ void SAL_CALL SbaTableQueryBrowser::elementInserted(const ContainerEvent& rEvent
}
pNewData->eType = etQuery;
}
- implAppendEntry(xEntry.get(), ::comphelper::getString(rEvent.Accessor), pNewData, pNewData->eType);
+ implAppendEntry(xEntry.get(), ::comphelper::getString(rEvent.Accessor), pNewData);
rTreeView.make_sorted();
}
@@ -2878,7 +2880,7 @@ void SAL_CALL SbaTableQueryBrowser::elementReplaced( const ContainerEvent& _rEve
if ( etTableOrView == pData->eType )
{
// only insert userdata when we have a table because the query is only a commanddefinition object and not a query
- _rEvent.Element >>= pData->xObjectProperties; // remember the new element
+ _rEvent.Element >>= pData->xObjectProperties; // remember the new element
}
else
{
diff --git a/dbaccess/source/ui/inc/unodatbr.hxx b/dbaccess/source/ui/inc/unodatbr.hxx
index e147b44b9e02..229e0c39e402 100644
--- a/dbaccess/source/ui/inc/unodatbr.hxx
+++ b/dbaccess/source/ui/inc/unodatbr.hxx
@@ -46,6 +46,7 @@ namespace com::sun::star::container { class XNameContainer; }
namespace dbaui
{
struct DBTreeEditedEntry;
+ struct DBTreeListUserData;
class ImageProvider;
typedef ::cppu::ImplHelper5 < css::frame::XStatusListener
@@ -354,9 +355,7 @@ namespace dbaui
std::unique_ptr<weld::TreeIter> implAppendEntry(
const weld::TreeIter* pParent,
const OUString& rName,
- void* pUserData,
- EntryType eEntryType
- );
+ DBTreeListUserData* pUserData);
/// loads the grid control with the data object specified (which may be a table, a query or a command)
bool implLoadAnything(const OUString& _rDataSourceName, const OUString& _rCommand,
commit 92162bc1ac5202d2109d8c5b6ea0162df2bab7fc
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Sep 28 17:01:08 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:02:02 2021 +0200
Resolves: tdf#144139 checkboxs in print output shouldn't be themed
this will avoid the crash under gtk
Change-Id: Ibbde5d64595d2fec1fa63756d628cf295dcdbb78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122793
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 625e34c3a3d9..ca14d5f0fea3 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -1681,7 +1681,23 @@ void DbCheckBox::PaintFieldToCell(OutputDevice& rDev, const tools::Rectangle& rR
CheckBoxControl* pControl = static_cast<CheckBoxControl*>(m_pPainter.get());
lcl_setCheckBoxState( _rxField, pControl );
- Size aBoxSize = pControl->GetBox().get_preferred_size();
+ Size aBoxSize;
+
+ switch (rDev.GetOutDevType())
+ {
+ case OUTDEV_WINDOW:
+ case OUTDEV_VIRDEV:
+ aBoxSize = pControl->GetBox().get_preferred_size();
+ break;
+ case OUTDEV_PRINTER:
+ case OUTDEV_PDF:
+ {
+ auto nSize = std::min(rRect.GetWidth(), rRect.GetHeight());
+ aBoxSize = Size(nSize, nSize);
+ break;
+ }
+ }
+
tools::Rectangle aRect(Point(rRect.Left() + ((rRect.GetWidth() - aBoxSize.Width()) / 2),
rRect.Top() + ((rRect.GetHeight() - aBoxSize.Height()) / 2)),
aBoxSize);
@@ -1689,6 +1705,85 @@ void DbCheckBox::PaintFieldToCell(OutputDevice& rDev, const tools::Rectangle& rR
DbCellControl::PaintFieldToCell(rDev, aRect, _rxField, xFormatter);
}
+void DbCheckBox::PaintCell(OutputDevice& rDev, const tools::Rectangle& rRect)
+{
+ switch (rDev.GetOutDevType())
+ {
+ case OUTDEV_WINDOW:
+ case OUTDEV_VIRDEV:
+ DbCellControl::PaintCell(rDev, rRect);
+ break;
+ case OUTDEV_PRINTER:
+ case OUTDEV_PDF:
+ {
+ TriState eState = static_cast<CheckBoxControl*>(m_pWindow.get())->GetState();
+
+ MapMode aResMapMode(MapUnit::Map100thMM);
+ Size aBrd1Size = rDev.LogicToPixel(Size(20, 20), aResMapMode);
+ Size aBrd2Size = rDev.LogicToPixel(Size(30, 30), aResMapMode);
+ int nCheckWidth = rDev.LogicToPixel(Size(20, 20), aResMapMode).Width();
+ tools::Rectangle aStateRect(rRect);
+
+ rDev.Push();
+ rDev.SetMapMode();
+
+ rDev.SetLineColor();
+ rDev.SetFillColor(COL_BLACK);
+ rDev.DrawRect(aStateRect);
+ aStateRect.AdjustLeft(aBrd1Size.Width());
+ aStateRect.AdjustTop(aBrd1Size.Height());
+ aStateRect.AdjustRight(-aBrd1Size.Width());
+ aStateRect.AdjustBottom(-aBrd1Size.Height());
+ if (eState == TRISTATE_INDET)
+ rDev.SetFillColor(COL_LIGHTGRAY);
+ else
+ rDev.SetFillColor(COL_WHITE);
+ rDev.DrawRect(aStateRect);
+
+ if (eState == TRISTATE_TRUE)
+ {
+ aStateRect.AdjustLeft(aBrd2Size.Width());
+ aStateRect.AdjustTop(aBrd2Size.Height());
+ aStateRect.AdjustRight(-aBrd2Size.Width());
+ aStateRect.AdjustBottom(-aBrd2Size.Height());
+ Point aPos11(aStateRect.TopLeft());
+ Point aPos12(aStateRect.BottomRight());
+ Point aPos21(aStateRect.TopRight());
+ Point aPos22(aStateRect.BottomLeft());
+ Point aTempPos11(aPos11);
+ Point aTempPos12(aPos12);
+ Point aTempPos21(aPos21);
+ Point aTempPos22(aPos22);
+ rDev.SetLineColor(COL_BLACK);
+ int nDX = 0;
+ for (int i = 0; i < nCheckWidth; i++)
+ {
+ if ( !(i % 2) )
+ {
+ aTempPos11.setX(aPos11.X() + nDX);
+ aTempPos12.setX(aPos12.X() + nDX);
+ aTempPos21.setX(aPos21.X() + nDX);
+ aTempPos22.setX(aPos22.X() + nDX);
+ }
+ else
+ {
+ nDX++;
+ aTempPos11.setX(aPos11.X() - nDX);
+ aTempPos12.setX(aPos12.X() - nDX);
+ aTempPos21.setX(aPos21.X() - nDX);
+ aTempPos22.setX(aPos22.X() - nDX);
+ }
+ rDev.DrawLine(aTempPos11, aTempPos12);
+ rDev.DrawLine(aTempPos21, aTempPos22);
+ }
+ }
+
+ rDev.Pop();
+ break;
+ }
+ }
+}
+
void DbCheckBox::updateFromModel( Reference< XPropertySet > _rxModel )
{
OSL_ENSURE( _rxModel.is() && m_pWindow, "DbCheckBox::updateFromModel: invalid call!" );
diff --git a/svx/source/inc/gridcell.hxx b/svx/source/inc/gridcell.hxx
index f006c5180367..047c869cde4d 100644
--- a/svx/source/inc/gridcell.hxx
+++ b/svx/source/inc/gridcell.hxx
@@ -442,6 +442,7 @@ public:
virtual void PaintFieldToCell(OutputDevice& rDev, const tools::Rectangle& rRect,
const css::uno::Reference< css::sdb::XColumn >& _rxField,
const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
+ virtual void PaintCell(OutputDevice& rDev, const tools::Rectangle& rRect) override;
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
protected:
commit 1bc32d028bc5f27961ac41385bcad1cc94b329e4
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Sep 26 14:23:54 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:02:00 2021 +0200
ofz#39301 month has to be in range [1-12]
Change-Id: I5a4ca534b24098342d8f465a32bc1887f40f5b63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122636
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
diff --git a/connectivity/source/commontools/dbconversion.cxx b/connectivity/source/commontools/dbconversion.cxx
index dbe942a3fd01..77cfdfb26ea1 100644
--- a/connectivity/source/commontools/dbconversion.cxx
+++ b/connectivity/source/commontools/dbconversion.cxx
@@ -26,6 +26,7 @@
#include <rtl/character.hxx>
#include <rtl/ustrbuf.hxx>
#include <rtl/math.hxx>
+#include <sal/log.hxx>
#include <unotools/datetime.hxx>
#include <sstream>
#include <iomanip>
@@ -166,10 +167,13 @@ namespace dbtools
;
}
-
static sal_Int32 implDaysInMonth(sal_Int32 _nMonth, sal_Int32 _nYear)
{
- OSL_ENSURE(_nMonth > 0 && _nMonth < 13,"Month as invalid value!");
+ SAL_WARN_IF(_nMonth < 1 || _nMonth > 12, "connectivity.commontools", "Month has invalid value: " << _nMonth);
+ if (_nMonth < 1)
+ _nMonth = 1;
+ else if (_nMonth > 12)
+ _nMonth = 12;
if (_nMonth != 2)
return aDaysInMonth[_nMonth-1];
else
@@ -181,7 +185,6 @@ namespace dbtools
}
}
-
static sal_Int32 implRelativeToAbsoluteNull(const css::util::Date& _rDate)
{
sal_Int32 nDays = 0;
commit 88508e876da8f2aab1f95f8671b357776a246cb4
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Sep 26 14:05:37 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:58 2021 +0200
ofz#39304 short timestamp record
Change-Id: I8f783473dd5d4679846c7c866cd1853ef7d919fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122634
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx
index f16d2f1ee3eb..3740aaae8d19 100644
--- a/connectivity/source/drivers/dbase/DTable.cxx
+++ b/connectivity/source/drivers/dbase/DTable.cxx
@@ -771,10 +771,8 @@ bool ODbaseTable::fetchRow(OValueRefRow& _rRow, const OSQLColumns & _rCols, bool
for (std::size_t i = 1; aIter != aEnd && nByteOffset <= m_nBufferSize && i < nCount;++aIter, i++)
{
// Lengths depending on data type:
- sal_Int32 nLen = 0;
- sal_Int32 nType = 0;
- nLen = m_aPrecisions[i-1];
- nType = m_aTypes[i-1];
+ sal_Int32 nLen = m_aPrecisions[i-1];
+ sal_Int32 nType = m_aTypes[i-1];
switch(nType)
{
@@ -833,8 +831,13 @@ bool ODbaseTable::fetchRow(OValueRefRow& _rRow, const OSQLColumns & _rCols, bool
else if ( DataType::TIMESTAMP == nType )
{
sal_Int32 nDate = 0,nTime = 0;
+ if (o3tl::make_unsigned(nLen) < 8)
+ {
+ SAL_WARN("connectivity.drivers", "short TIMESTAMP");
+ return false;
+ }
memcpy(&nDate, pData, 4);
- memcpy(&nTime, pData+ 4, 4);
+ memcpy(&nTime, pData + 4, 4);
if ( !nDate && !nTime )
{
(*_rRow)[i]->setNull();
commit ede8aacf1b1a1e47f9af5fa91a88b21983e2856e
Author: Justin Luth <justin.luth at collabora.com>
AuthorDate: Mon Sep 20 15:25:01 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:56 2021 +0200
Revert "tdf#99492 sw layout: always paint merged cell grids"
This reverts LO 7.1 commit c016fe2b5918d6e53113e100b1126076b6e1a6a3.
This failed for two reasons.
1.) If it is not a solid color (like a graphic for example)
then the graphic is going to be repeated in each cell.
2.) This is NOT actually repainting the visible cell's background.
It is painting the hidden cell - which MIGHT be different
from the visible cell (in the case of a solid color).
Since this will require a completely different approach,
I am just reverting this. Thanks Mike for finding an
example document that shows the flaws.
Change-Id: Icdc21e09118e7c33ac9f7ede23c913b95ad69c93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122366
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth at sil.org>
(cherry picked from commit eb830ad284f245165b6ab5e8647d48834622f2d5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122281
(cherry picked from commit 20672741eded49de01e8b7bc660e115f404203aa)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122286
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index a464a4640fb6..4eb886a644f7 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -6221,6 +6221,10 @@ void SwFrame::PaintSwFrameBackground( const SwRect &rRect, const SwPageFrame *pP
return;
}
+ // nothing to do for covered table cells:
+ if( IsCellFrame() && IsCoveredCell() )
+ return;
+
SwViewShell *pSh = gProp.pSGlobalShell;
// #i16816# tagged pdf support
commit b9820a3d346e8d4b61452e10aa3504fb48d51ec5
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Sep 13 17:29:27 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:54 2021 +0200
tdf#142415 mouse events not propogated to table control event handlers
handle this with explicit callbacks from the cell widget for those
events
Change-Id: Ie605ca4286afc0fbd321f339fb7963771a303df5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122072
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
diff --git a/include/svtools/editbrowsebox.hxx b/include/svtools/editbrowsebox.hxx
index a1badb8cce80..4f9f952771c8 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -184,13 +184,34 @@ namespace svt
m_aFocusOutHdl = rHdl;
}
+ void SetMousePressHdl(const Link<const MouseEvent&,void>& rHdl)
+ {
+ m_aMousePressHdl = rHdl;
+ }
+
+ void SetMouseReleaseHdl(const Link<const MouseEvent&,void>& rHdl)
+ {
+ m_aMouseReleaseHdl = rHdl;
+ }
+
+ void SetMouseMoveHdl(const Link<const MouseEvent&,void>& rHdl)
+ {
+ m_aMouseMoveHdl = rHdl;
+ }
+
protected:
DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
DECL_LINK(FocusInHdl, weld::Widget&, void);
DECL_LINK(FocusOutHdl, weld::Widget&, void);
+ DECL_LINK(MousePressHdl, const MouseEvent&, bool);
+ DECL_LINK(MouseReleaseHdl, const MouseEvent&, bool);
+ DECL_LINK(MouseMoveHdl, const MouseEvent&, bool);
private:
Link<LinkParamNone*,void> m_aFocusInHdl;
Link<LinkParamNone*,void> m_aFocusOutHdl;
+ Link<const MouseEvent&,void> m_aMousePressHdl;
+ Link<const MouseEvent&,void> m_aMouseReleaseHdl;
+ Link<const MouseEvent&,void> m_aMouseMoveHdl;
};
class SVT_DLLPUBLIC EditControlBase : public ControlBase
diff --git a/svtools/source/brwbox/ebbcontrols.cxx b/svtools/source/brwbox/ebbcontrols.cxx
index 3989f6d17c7c..e83911750ec5 100644
--- a/svtools/source/brwbox/ebbcontrols.cxx
+++ b/svtools/source/brwbox/ebbcontrols.cxx
@@ -33,6 +33,9 @@ namespace svt
m_xWidget->connect_key_press(LINK(this, ControlBase, KeyInputHdl));
m_xWidget->connect_focus_in(LINK(this, ControlBase, FocusInHdl));
m_xWidget->connect_focus_out(LINK(this, ControlBase, FocusOutHdl));
+ m_xWidget->connect_mouse_press(LINK(this, ControlBase, MousePressHdl));
+ m_xWidget->connect_mouse_release(LINK(this, ControlBase, MouseReleaseHdl));
+ m_xWidget->connect_mouse_move(LINK(this, ControlBase, MouseMoveHdl));
}
void ComboBoxControl::dispose()
@@ -120,6 +123,9 @@ namespace svt
m_xWidget->connect_key_press(LINK(this, ControlBase, KeyInputHdl));
m_xWidget->connect_focus_in(LINK(this, ControlBase, FocusInHdl));
m_xWidget->connect_focus_out(LINK(this, ControlBase, FocusOutHdl));
+ m_xWidget->connect_mouse_press(LINK(this, ControlBase, MousePressHdl));
+ m_xWidget->connect_mouse_release(LINK(this, ControlBase, MouseReleaseHdl));
+ m_xWidget->connect_mouse_move(LINK(this, ControlBase, MouseMoveHdl));
}
void ListBoxControl::dispose()
@@ -190,6 +196,9 @@ namespace svt
m_xBox->connect_key_press(LINK(this, ControlBase, KeyInputHdl));
m_xBox->connect_focus_in(LINK(this, ControlBase, FocusInHdl));
m_xBox->connect_focus_out(LINK(this, ControlBase, FocusOutHdl));
+ m_xBox->connect_mouse_press(LINK(this, ControlBase, MousePressHdl));
+ m_xBox->connect_mouse_release(LINK(this, ControlBase, MouseReleaseHdl));
+ m_xBox->connect_mouse_move(LINK(this, ControlBase, MouseMoveHdl));
m_xBox->connect_toggled(LINK(this, CheckBoxControl, OnToggle));
}
@@ -343,6 +352,9 @@ namespace svt
m_pEntry->connect_key_press(LINK(this, ControlBase, KeyInputHdl));
m_pEntry->connect_focus_in(LINK(this, ControlBase, FocusInHdl));
connect_focus_out(LINK(this, ControlBase, FocusOutHdl));
+ m_pEntry->connect_mouse_press(LINK(this, ControlBase, MousePressHdl));
+ m_pEntry->connect_mouse_release(LINK(this, ControlBase, MouseReleaseHdl));
+ m_pEntry->connect_mouse_move(LINK(this, ControlBase, MouseMoveHdl));
}
bool ControlBase::ProcessKey(const KeyEvent& rKEvt)
@@ -367,6 +379,24 @@ namespace svt
static_cast<BrowserDataWin*>(GetParent())->GetParent()->ChildFocusOut();
}
+ IMPL_LINK(ControlBase, MousePressHdl, const MouseEvent&, rEvent, bool)
+ {
+ m_aMousePressHdl.Call(rEvent);
+ return false;
+ }
+
+ IMPL_LINK(ControlBase, MouseReleaseHdl, const MouseEvent&, rEvent, bool)
+ {
+ m_aMouseReleaseHdl.Call(rEvent);
+ return false;
+ }
+
+ IMPL_LINK(ControlBase, MouseMoveHdl, const MouseEvent&, rEvent, bool)
+ {
+ m_aMouseMoveHdl.Call(rEvent);
+ return false;
+ }
+
void EditControlBase::dispose()
{
m_pEntry = nullptr;
@@ -641,6 +671,9 @@ namespace svt
m_xWidget->connect_key_press(LINK(this, ControlBase, KeyInputHdl));
m_xWidget->connect_focus_in(LINK(this, ControlBase, FocusInHdl));
m_xWidget->connect_focus_out(LINK(this, ControlBase, FocusOutHdl));
+ m_xWidget->connect_mouse_press(LINK(this, ControlBase, MousePressHdl));
+ m_xWidget->connect_mouse_release(LINK(this, ControlBase, MouseReleaseHdl));
+ m_xWidget->connect_mouse_move(LINK(this, ControlBase, MouseMoveHdl));
// so any the natural size doesn't have an effect
m_xWidget->set_size_request(1, 1);
}
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 08ca07962939..625e34c3a3d9 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -3104,6 +3104,9 @@ void FmXGridCell::init()
pEventWindow->AddEventListener( LINK( this, FmXGridCell, OnWindowEvent ) );
pEventWindow->SetFocusInHdl(LINK( this, FmXGridCell, OnFocusGained));
pEventWindow->SetFocusOutHdl(LINK( this, FmXGridCell, OnFocusLost));
+ pEventWindow->SetMousePressHdl(LINK( this, FmXGridCell, OnMousePress));
+ pEventWindow->SetMouseReleaseHdl(LINK( this, FmXGridCell, OnMouseRelease));
+ pEventWindow->SetMouseMoveHdl(LINK( this, FmXGridCell, OnMouseMove));
}
}
@@ -3377,45 +3380,50 @@ IMPL_LINK_NOARG(FmXGridCell, OnFocusLost, LinkParamNone*, void)
onFocusLost(aEvent);
}
-void FmXGridCell::onWindowEvent(const VclEventId _nEventId, const void* _pEventData)
+IMPL_LINK(FmXGridCell, OnMousePress, const MouseEvent&, rEventData, void)
{
- switch ( _nEventId )
- {
- case VclEventId::WindowMouseButtonDown:
- case VclEventId::WindowMouseButtonUp:
- {
- if ( !m_aMouseListeners.getLength() )
- break;
+ if (!m_aMouseListeners.getLength())
+ return;
+
+ awt::MouseEvent aEvent(VCLUnoHelper::createMouseEvent(rEventData, *this));
+ m_aMouseListeners.notifyEach(&awt::XMouseListener::mousePressed, aEvent);
+}
- const bool bButtonDown = ( _nEventId == VclEventId::WindowMouseButtonDown );
+IMPL_LINK(FmXGridCell, OnMouseRelease, const MouseEvent&, rEventData, void)
+{
+ if (!m_aMouseListeners.getLength())
+ return;
- awt::MouseEvent aEvent( VCLUnoHelper::createMouseEvent( *static_cast< const ::MouseEvent* >( _pEventData ), *this ) );
- m_aMouseListeners.notifyEach( bButtonDown ? &awt::XMouseListener::mousePressed : &awt::XMouseListener::mouseReleased, aEvent );
- }
- break;
- case VclEventId::WindowMouseMove:
+ awt::MouseEvent aEvent(VCLUnoHelper::createMouseEvent(rEventData, *this));
+ m_aMouseListeners.notifyEach(&awt::XMouseListener::mouseReleased, aEvent);
+}
+
+IMPL_LINK(FmXGridCell, OnMouseMove, const MouseEvent&, rMouseEvent, void)
+{
+ if ( rMouseEvent.IsEnterWindow() || rMouseEvent.IsLeaveWindow() )
{
- const MouseEvent& rMouseEvent = *static_cast< const ::MouseEvent* >( _pEventData );
- if ( rMouseEvent.IsEnterWindow() || rMouseEvent.IsLeaveWindow() )
+ if ( m_aMouseListeners.getLength() != 0 )
{
- if ( m_aMouseListeners.getLength() != 0 )
- {
- awt::MouseEvent aEvent( VCLUnoHelper::createMouseEvent( rMouseEvent, *this ) );
- m_aMouseListeners.notifyEach( rMouseEvent.IsEnterWindow() ? &awt::XMouseListener::mouseEntered: &awt::XMouseListener::mouseExited, aEvent );
- }
+ awt::MouseEvent aEvent( VCLUnoHelper::createMouseEvent( rMouseEvent, *this ) );
+ m_aMouseListeners.notifyEach( rMouseEvent.IsEnterWindow() ? &awt::XMouseListener::mouseEntered: &awt::XMouseListener::mouseExited, aEvent );
}
- else if ( !rMouseEvent.IsEnterWindow() && !rMouseEvent.IsLeaveWindow() )
+ }
+ else if ( !rMouseEvent.IsEnterWindow() && !rMouseEvent.IsLeaveWindow() )
+ {
+ if ( m_aMouseMotionListeners.getLength() != 0 )
{
- if ( m_aMouseMotionListeners.getLength() != 0 )
- {
- awt::MouseEvent aEvent( VCLUnoHelper::createMouseEvent( rMouseEvent, *this ) );
- aEvent.ClickCount = 0;
- const bool bSimpleMove = bool( rMouseEvent.GetMode() & MouseEventModifiers::SIMPLEMOVE );
- m_aMouseMotionListeners.notifyEach( bSimpleMove ? &awt::XMouseMotionListener::mouseMoved: &awt::XMouseMotionListener::mouseDragged, aEvent );
- }
+ awt::MouseEvent aEvent( VCLUnoHelper::createMouseEvent( rMouseEvent, *this ) );
+ aEvent.ClickCount = 0;
+ const bool bSimpleMove = bool( rMouseEvent.GetMode() & MouseEventModifiers::SIMPLEMOVE );
+ m_aMouseMotionListeners.notifyEach( bSimpleMove ? &awt::XMouseMotionListener::mouseMoved: &awt::XMouseMotionListener::mouseDragged, aEvent );
}
}
- break;
+}
+
+void FmXGridCell::onWindowEvent(const VclEventId _nEventId, const void* _pEventData)
+{
+ switch ( _nEventId )
+ {
case VclEventId::WindowKeyInput:
case VclEventId::WindowKeyUp:
{
diff --git a/svx/source/inc/gridcell.hxx b/svx/source/inc/gridcell.hxx
index 6aef3de3fde9..f006c5180367 100644
--- a/svx/source/inc/gridcell.hxx
+++ b/svx/source/inc/gridcell.hxx
@@ -785,6 +785,10 @@ private:
svt::ControlBase* getEventWindow() const;
DECL_LINK(OnFocusGained, LinkParamNone*, void);
DECL_LINK(OnFocusLost, LinkParamNone*, void);
+ DECL_LINK(OnMousePress, const MouseEvent&, void);
+ DECL_LINK(OnMouseRelease, const MouseEvent&, void);
+ DECL_LINK(OnMouseMove, const MouseEvent&, void);
+
DECL_LINK( OnWindowEvent, VclWindowEvent&, void );
};
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index cd3d55663742..9fd92aa39b9c 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -9316,6 +9316,13 @@ private:
pThis->signal_activate();
}
+ virtual void ensureMouseEventWidget() override
+ {
+ // The GtkEntry is sufficient to get mouse events without an intermediate GtkEventBox
+ if (!m_pMouseEventBox)
+ m_pMouseEventBox = m_pWidget;
+ }
+
protected:
virtual void signal_activate()
commit b90b1ff750ac1e27e8d4570ad36e3afeb9096796
Author: Eike Rathke <erack at redhat.com>
AuthorDate: Mon Sep 13 11:42:39 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:53 2021 +0200
Resolves: tdf#116184 Check that there is no trailing number behind a match
... without being separated by a blank so the match is rejected if
it doesn't possibly form a date+time input and input can be
accepted as decimal fraction.
Change-Id: Iabd1d216366ecb8454c59822ce58f112bfa6091e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122024
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins
(cherry picked from commit eb0b4ab2d3b86d77ee0edb652d4486343e5b3b1f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122055
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 191a388581ea..9f90dd28b732 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -1487,8 +1487,9 @@ bool ImpSvNumberInputScan::IsAcceptedDatePattern( sal_uInt16 nStartPatternAt )
if (!IsNum[nCheck])
{
// Trailing (or separating if time follows) blanks are ok.
- SkipBlanks( sStrArray[nCheck], nPos);
- if (nPos == sStrArray[nCheck].getLength())
+ // No blank and a following number is not.
+ const bool bBlanks = SkipBlanks( sStrArray[nCheck], nPos);
+ if (nPos == sStrArray[nCheck].getLength() && (bBlanks || !IsNum[nNext]))
{
nAcceptedDatePattern = nPattern;
return true;
commit fba5d90f6614fbdd0e6cb190e78dd37065f4f784
Author: Eike Rathke <erack at redhat.com>
AuthorDate: Mon Sep 13 16:24:23 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:51 2021 +0200
Explicitly set cursor position for x11 'gen' backend, tdf#144457 follow-up
... (and other backends?)
Change-Id: If45b83080aa2df50ef27ad282eb6fa1d4a022703
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122037
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins
(cherry picked from commit 37e2e99f7a3018dce0337b582b139d41e1e81a9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122060
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index b5c6bcb49584..a36aac47abc3 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1819,7 +1819,13 @@ IMPL_LINK( OfaLanguagesTabPage, DatePatternsHdl, weld::Entry&, rEd, void )
}
}
if (bModified)
- rEd.set_text(aBuf.makeStringAndClear()); // This even keeps the cursor position so all good.
+ {
+ // gtk3 keeps the cursor position on equal length set_text() but at
+ // least the 'gen' backend does not and resets to 0.
+ const int nCursorPos = rEd.get_position();
+ rEd.set_text(aBuf.makeStringAndClear());
+ rEd.set_position(nCursorPos);
+ }
if (bValid)
rEd.set_message_type(weld::EntryMessageType::Normal);
else
commit 5145385c21f3fe3a13878271d5fed6a1fac39bc4
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue Sep 7 08:33:45 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:49 2021 +0200
exernal/firebird: extern/cloop: Missing dependencies of compilations on...
...output directories
Change-Id: Iaa2b750a12e3df078b46e5bb4feeafc926e11165
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121741
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122042
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1 b/external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1
new file mode 100644
index 000000000000..a59e70e06abc
--- /dev/null
+++ b/external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1
@@ -0,0 +1,41 @@
+From 8305b41bb262b6e249f2551639fa88392e152287 Mon Sep 17 00:00:00 2001
+From: Stephan Bergmann <sbergman at redhat.com>
+Date: Tue, 7 Sep 2021 08:47:32 +0200
+Subject: [PATCH] extern/cloop: Missing dependencies of compilations on output
+ directories
+
+When building Firebird 3.0.7 as part of LibreOffice, we noticed occasional build
+failures like <https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/96392/>
+
+> error: unable to open output file '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/firebird/temp/Debug/cloop/release/tests/test1/CTest.o': 'No such file or directory'
+> 1 error generated.
+> Makefile:72: recipe for target '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/firebird/temp/Debug/cloop/release/tests/test1/CTest.o' failed
+
+and while target "all" depends on target "mkdirs" (which would create all those
+directories) in extern/cloop/Makefile, there is no order among the dependencies
+of "all", so no guarantee that the directories are already created when the
+compilation recipes are executed.
+---
+ extern/cloop/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/extern/cloop/Makefile b/extern/cloop/Makefile
+index 3fca0c7356..c5a2b52628 100644
+--- a/extern/cloop/Makefile
++++ b/extern/cloop/Makefile
+@@ -54,10 +54,10 @@ vpath %.c $(SRC_DIRS)
+ vpath %.cpp $(SRC_DIRS)
+
+ define compile
+-$1/%.o: %.c
++$1/%.o: %.c | $1
+ $(CC) -c $$(C_FLAGS) $$< -o $$@
+
+-$1/%.o: %.cpp
++$1/%.o: %.cpp | $1
+ $(CXX) -c $$(CXX_FLAGS) $$< -o $$@
+ endef
+
+--
+2.31.1
+
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index 196895ff757c..d8afb02b5012 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -39,6 +39,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/0001-Fix-warning-on-Win64-build-231.patch.1 \
external/firebird/macos-arm64.patch.0 \
external/firebird/firebird-btyacc-add-explicit-rule.patch \
+ external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1 \
))
ifeq ($(OS),WNT)
commit cf156d6417f67acae70aa5e2ef5626ad163e814f
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Sep 10 16:12:02 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:47 2021 +0200
crashtesting: threaded scaling crash on re-export of ooo24840-1.sxw to odt
#13 0x00007f1cb843752a in o3tl::cow_wrapper<ImplBitmapPalette, o3tl::UnsafeRefCountingPolicy>::operator->() (this=0x5596086d5968) at include/o3tl/cow_wrapper.hxx:329
__PRETTY_FUNCTION__ = "BitmapColor& BitmapPalette::operator[](sal_uInt16)"
#14 0x00007f1cb843752a in BitmapPalette::operator[](unsigned short) (this=0x5596086d5968, nIndex=nIndex at entry=0) at vcl/source/bitmap/bitmappalette.cxx:139
__PRETTY_FUNCTION__ = "BitmapColor& BitmapPalette::operator[](sal_uInt16)"
#15 0x00007f1cb849f5f5 in BitmapInfoAccess::GetPaletteColor(unsigned short) const (nColor=0, this=0x5596085989f0) at include/vcl/BitmapInfoAccess.hxx:114
__PRETTY_FUNCTION__ = "const BitmapColor& BitmapInfoAccess::GetPaletteColor(sal_uInt16) const"
the mpBuffer member of BitmapInfoAccess is
BitmapBuffer* mpBuffer;
not
const BitmapBuffer* mpBuffer;
so mpBuffer->maPalette.foo() calls non-const variants of foo(),
(BitmapPalette::operator[](unsigned short) in this case), which
is presumably non the expected outcome, as the copy-on-write mpImpl of
BitmapPalette unsafely creates a new copy its internals on the first
dereference of mpImpl in a non-const method.
Change-Id: I1ebb3c67386a9028e5b8bab4b2d1cc5862700aa1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121917
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/vcl/bitmapaccess.hxx b/include/vcl/bitmapaccess.hxx
index 12304d96ff86..559b5c7a3c02 100644
--- a/include/vcl/bitmapaccess.hxx
+++ b/include/vcl/bitmapaccess.hxx
@@ -96,31 +96,39 @@ public:
bool HasPalette() const
{
- assert(mpBuffer && "Access is not valid!");
+ const BitmapBuffer* pBuffer = mpBuffer;
+
+ assert(pBuffer && "Access is not valid!");
- return mpBuffer && !!mpBuffer->maPalette;
+ return pBuffer && !!pBuffer->maPalette;
}
const BitmapPalette& GetPalette() const
{
- assert(mpBuffer && "Access is not valid!");
+ const BitmapBuffer* pBuffer = mpBuffer;
- return mpBuffer->maPalette;
+ assert(pBuffer && "Access is not valid!");
+
+ return pBuffer->maPalette;
}
sal_uInt16 GetPaletteEntryCount() const
{
+ const BitmapBuffer* pBuffer = mpBuffer;
+
assert(HasPalette() && "Bitmap has no palette!");
- return HasPalette() ? mpBuffer->maPalette.GetEntryCount() : 0;
+ return HasPalette() ? pBuffer->maPalette.GetEntryCount() : 0;
}
const BitmapColor& GetPaletteColor( sal_uInt16 nColor ) const
{
- assert(mpBuffer && "Access is not valid!");
+ const BitmapBuffer* pBuffer = mpBuffer;
+
+ assert(pBuffer && "Access is not valid!");
assert(HasPalette() && "Bitmap has no palette!");
- return mpBuffer->maPalette[nColor];
+ return pBuffer->maPalette[nColor];
}
const BitmapColor& GetBestPaletteColor(const BitmapColor& rBitmapColor) const
@@ -130,11 +138,13 @@ public:
sal_uInt16 GetBestPaletteIndex(const BitmapColor& rBitmapColor) const;
- ColorMask& GetColorMask() const
+ const ColorMask& GetColorMask() const
{
- assert(mpBuffer && "Access is not valid!");
+ const BitmapBuffer* pBuffer = mpBuffer;
+
+ assert(pBuffer && "Access is not valid!");
- return mpBuffer->maColorMask;
+ return pBuffer->maColorMask;
}
private:
@@ -207,7 +217,10 @@ public:
BitmapColor GetColor(tools::Long nY, tools::Long nX) const
{
if (HasPalette())
- return mpBuffer->maPalette[GetPixelIndex(nY, nX)];
+ {
+ const BitmapBuffer* pBuffer = mpBuffer;
+ return pBuffer->maPalette[GetPixelIndex(nY, nX)];
+ }
else
return GetPixel(nY, nX);
}
diff --git a/vcl/source/gdi/bmpacc.cxx b/vcl/source/gdi/bmpacc.cxx
index 18c5769678c5..9c418a374e33 100644
--- a/vcl/source/gdi/bmpacc.cxx
+++ b/vcl/source/gdi/bmpacc.cxx
@@ -79,7 +79,9 @@ BitmapInfoAccess::~BitmapInfoAccess()
sal_uInt16 BitmapInfoAccess::GetBestPaletteIndex( const BitmapColor& rBitmapColor ) const
{
- return( HasPalette() ? mpBuffer->maPalette.GetBestIndex( rBitmapColor ) : 0 );
+ const BitmapBuffer* pBuffer = mpBuffer;
+
+ return( HasPalette() ? pBuffer->maPalette.GetBestIndex( rBitmapColor ) : 0 );
}
BitmapReadAccess::BitmapReadAccess( Bitmap& rBitmap, BitmapAccessMode nMode ) :
commit 619676a94c6726422f5a447b0e5c732fe24b2c8f
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Sep 10 13:58:13 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:45 2021 +0200
Resolves: tdf#143777 Exclude recipient is always greyed out
Change-Id: I6ce94fad6ba518457665ae6d6b473cfe6f80849f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121883
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/source/uibase/dbui/mailmergetoolbarcontrols.cxx b/sw/source/uibase/dbui/mailmergetoolbarcontrols.cxx
index 00f9a079fbb7..827b2aef1b0c 100644
--- a/sw/source/uibase/dbui/mailmergetoolbarcontrols.cxx
+++ b/sw/source/uibase/dbui/mailmergetoolbarcontrols.cxx
@@ -386,7 +386,7 @@ void MMExcludeEntryController::statusChanged(const frame::FeatureStateEvent& rEv
}
else
{
- m_xExcludeCheckbox->set_sensitive(false);
+ m_xExcludeCheckbox->set_sensitive(true);
m_xExcludeCheckbox->set_active(xConfigItem->IsRecordExcluded(xConfigItem->GetResultSetPosition()));
}
}
commit 041d06641b14b3610ac896c47aa73a88d3808a02
Author: Gabor Kelemen <kelemen.gabor2 at nisz.hu>
AuthorDate: Fri Sep 10 13:14:32 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:43 2021 +0200
tdf#144352 Revert "Fix widget placement problem on mailmerge result dialog."
This reverts commit 0a3e5ba4db254549c15e55984f1764a352c8239b.
Reason for revert: Causes the dialogs bottom part to slip on top each other, most visibly on Windows
Change-Id: I6e5a30fbb4611a7b1250b173adccdb47c95eea02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121879
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth at numbertext.org>
(cherry picked from commit c10c32438025edda2f3c178b47d369e7979f25a8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121988
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
(cherry picked from commit c3aedef39f768b266c3352dddf8f8adafc134dfa)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121990
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/sw/uiconfig/swriter/ui/mmresultemaildialog.ui b/sw/uiconfig/swriter/ui/mmresultemaildialog.ui
index 371088ce87cc..91927ad0b985 100644
--- a/sw/uiconfig/swriter/ui/mmresultemaildialog.ui
+++ b/sw/uiconfig/swriter/ui/mmresultemaildialog.ui
@@ -13,7 +13,6 @@
<property name="page_increment">10</property>
</object>
<object class="GtkDialog" id="MMResultEmailDialog">
- <property name="height_request">320</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="mmresultemaildialog|MMResultEmailDialog">Email merged document</property>
commit 09c126c66c3c625c4b0410aa806c1ae32a4c320a
Author: Eike Rathke <erack at redhat.com>
AuthorDate: Sun Sep 12 17:47:35 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:41 2021 +0200
Resolves: tdf#144457 Use weld::set_text() instead of replace_selection()
... to replace entire field with modified text, instead of
inserting the text at the cursor position without selection, thus
effectively duplicating it (modulo modification).
Fallout from
commit 08101a1ab3b5d7c41488e93a2af518462286844f
CommitDate: Tue Jul 30 14:04:17 2019 +0200
weld OfaLanguagesTabPage
that did
if (bModified)
- {
- // Do not use SetText(...,GetSelection()) because internally the
- // reference's pointer of the selection is obtained resulting in the
- // entire text being selected at the end.
- Selection aSelection( rEd.GetSelection());
- rEd.SetText( aBuf.makeStringAndClear(), aSelection);
- }
+ rEd.replace_selection(aBuf.makeStringAndClear());
replacing the workaround needed for the old toolkit with something
similar from the new toolkit but behaving differently..
Change-Id: I9ff325eecd747bbecb36eb2a1150ae4472e475e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122000
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins
(cherry picked from commit db90a6cedbc261ad711ff13c4f69db65946486da)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121979
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 07435990a234..b5c6bcb49584 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1819,7 +1819,7 @@ IMPL_LINK( OfaLanguagesTabPage, DatePatternsHdl, weld::Entry&, rEd, void )
}
}
if (bModified)
- rEd.replace_selection(aBuf.makeStringAndClear());
+ rEd.set_text(aBuf.makeStringAndClear()); // This even keeps the cursor position so all good.
if (bValid)
rEd.set_message_type(weld::EntryMessageType::Normal);
else
commit 27405315dae1f7d1806d7f866953592129a35f60
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Sep 9 10:15:01 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:39 2021 +0200
Resolves: tdf#144376 focus into protected ScTextWnd shouldn't be possible
the expectations are that this isn't possible and if it happens then
under windows there is a QueryCharPosition which will trigger the
deletion of the ScTextWnd EditView due to that expectation before it is
then unconditionally dereferenced
Change-Id: Ied5d8031ae7d74669a2958dbcdec87843a26d384
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121841
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
diff --git a/include/svx/weldeditview.hxx b/include/svx/weldeditview.hxx
index 930573f97856..5bd68f85bde7 100644
--- a/include/svx/weldeditview.hxx
+++ b/include/svx/weldeditview.hxx
@@ -63,6 +63,7 @@ protected:
virtual bool MouseButtonUp(const MouseEvent& rMEvt) override;
virtual bool KeyInput(const KeyEvent& rKEvt) override;
virtual bool Command(const CommandEvent& rCEvt) override;
+ virtual bool CanFocus() const;
virtual void GetFocus() override;
virtual void LoseFocus() override;
virtual void Resize() override;
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 282b71575e08..e161496f6fe5 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1639,12 +1639,17 @@ bool ScTextWnd::MouseMove( const MouseEvent& rMEvt )
return m_xEditView && m_xEditView->MouseMove(rMEvt);
}
+bool ScTextWnd::CanFocus() const
+{
+ return SC_MOD()->IsEditMode();
+}
+
bool ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt )
{
if (!HasFocus())
{
StartEditEngine();
- if ( SC_MOD()->IsEditMode() )
+ if (CanFocus())
TextGrabFocus();
}
diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx
index 196fadffa759..8daf8ed0da81 100644
--- a/sc/source/ui/inc/inputwin.hxx
+++ b/sc/source/ui/inc/inputwin.hxx
@@ -125,6 +125,7 @@ protected:
virtual bool MouseButtonUp( const MouseEvent& rMEvt ) override;
virtual bool Command( const CommandEvent& rCEvt ) override;
virtual bool KeyInput(const KeyEvent& rKEvt) override;
+ virtual bool CanFocus() const override;
virtual void GetFocus() override;
virtual bool StartDrag() override;
diff --git a/svx/source/dialog/weldeditview.cxx b/svx/source/dialog/weldeditview.cxx
index 5f5027b5b27f..35ac22c3bb18 100644
--- a/svx/source/dialog/weldeditview.cxx
+++ b/svx/source/dialog/weldeditview.cxx
@@ -179,7 +179,7 @@ bool WeldEditView::MouseButtonDown(const MouseEvent& rMEvt)
if (!IsMouseCaptured())
CaptureMouse();
- if (!HasFocus())
+ if (!HasFocus() && CanFocus())
{
GrabFocus();
GetFocus();
@@ -1540,6 +1540,8 @@ void WeldEditView::LoseFocus()
}
}
+bool WeldEditView::CanFocus() const { return true; }
+
namespace
{
class WeldEditViewUIObject final : public DrawingAreaUIObject
commit d563052cd9fe5576fc4a569ca75908799e22e57d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Sun Apr 11 17:40:26 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:37 2021 +0200
tdf#143796 Qt5/KF5 fix double-buffer graphics
This is a squashed commit for:
"Qt5/KF5 get rid of unneeded own grahics handling"
"tdf#143334 Qt5 don't reset buffer on style change"
"tdf#144008 Qt5/Kf5 create frames in the GUI thread"
commit 963f252cd1ea9c268a6ced68a3454b10cbee1a89
commit ec77a2ed0283cb3446f6e352fc329afd3dfb785c
commit 923b30aa27ceb377d6a540c012000e89ce5db31e
The first commit exposed the same problem to kf5, the 2nd patch is
the real fix and the 3rd partly a regression for kf5 from the 1st
commit but also an additional bugfix for qt5.
Change-Id: I84b8dd106a35a5c2fda08a525f657b0b733a5cb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121795
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn at posteo.de>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/vcl/inc/qt5/Qt5Frame.hxx b/vcl/inc/qt5/Qt5Frame.hxx
index 54a721e03730..9b6e3811c3bb 100644
--- a/vcl/inc/qt5/Qt5Frame.hxx
+++ b/vcl/inc/qt5/Qt5Frame.hxx
@@ -77,17 +77,12 @@ class VCLPLUG_QT5_PUBLIC Qt5Frame : public QObject, public SalFrame
std::unique_ptr<QImage> m_pQImage;
std::unique_ptr<Qt5Graphics> m_pQt5Graphics;
UniqueCairoSurface m_pSurface;
- std::unique_ptr<Qt5SvpGraphics> m_pOurSvpGraphics;
- // in base class, this ptr is the same as m_pOurSvpGraphic
- // in derived class, it can point to a derivative
- // of Qt5SvpGraphics (which the derived class then owns)
- Qt5SvpGraphics* m_pSvpGraphics;
+ std::unique_ptr<Qt5SvpGraphics> m_pSvpGraphics;
DamageHandler m_aDamageHandler;
QRegion m_aRegion;
bool m_bNullRegion;
bool m_bGraphicsInUse;
- bool m_bGraphicsInvalid;
SalFrameStyleFlags m_nStyle;
Qt5Frame* m_pParent;
PointerStyle m_ePointerStyle;
@@ -144,7 +139,6 @@ public:
void Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExtentsWidth,
sal_Int32 nExtentsHeight) const;
- void InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics);
virtual SalGraphics* AcquireGraphics() override;
virtual void ReleaseGraphics(SalGraphics* pGraphics) override;
diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx
index d73a59de51c1..a2372e58f8c9 100644
--- a/vcl/inc/qt5/Qt5Instance.hxx
+++ b/vcl/inc/qt5/Qt5Instance.hxx
@@ -82,6 +82,7 @@ protected:
virtual Qt5FilePicker*
createPicker(css::uno::Reference<css::uno::XComponentContext> const& context,
QFileDialog::FileMode);
+ bool useCairo() const { return m_bUseCairo; }
public:
explicit Qt5Instance(std::unique_ptr<QApplication>& pQApp, bool bUseCairo = false);
diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
index b398e9a5cf3b..d39d1729c812 100644
--- a/vcl/qt5/Qt5Frame.cxx
+++ b/vcl/qt5/Qt5Frame.cxx
@@ -104,10 +104,8 @@ sal_Int32 screenNumber(const QScreen* pScreen)
Qt5Frame::Qt5Frame(Qt5Frame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
: m_pTopLevel(nullptr)
, m_bUseCairo(bUseCairo)
- , m_pSvpGraphics(nullptr)
, m_bNullRegion(true)
, m_bGraphicsInUse(false)
- , m_bGraphicsInvalid(false)
, m_ePointerStyle(PointerStyle::Arrow)
, m_pDragSource(nullptr)
, m_pDropTarget(nullptr)
@@ -288,17 +286,6 @@ void Qt5Frame::Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExten
1 / devicePixelRatioF()));
}
-void Qt5Frame::InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics)
-{
- QSize aSize = m_pQWidget->size() * devicePixelRatioF();
- m_pSvpGraphics = pQt5SvpGraphics;
- m_pSurface.reset(
- cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height()));
- m_pSvpGraphics->setSurface(m_pSurface.get(), basegfx::B2IVector(aSize.width(), aSize.height()));
- cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(), &m_aDamageHandler,
- nullptr);
-}
-
SalGraphics* Qt5Frame::AcquireGraphics()
{
if (m_bGraphicsInUse)
@@ -308,24 +295,28 @@ SalGraphics* Qt5Frame::AcquireGraphics()
if (m_bUseCairo)
{
- if (!m_pOurSvpGraphics || m_bGraphicsInvalid)
+ if (!m_pSvpGraphics)
{
- m_pOurSvpGraphics.reset(new Qt5SvpGraphics(this));
- InitQt5SvpGraphics(m_pOurSvpGraphics.get());
- m_bGraphicsInvalid = false;
+ QSize aSize = m_pQWidget->size() * devicePixelRatioF();
+ m_pSvpGraphics.reset(new Qt5SvpGraphics(this));
+ m_pSurface.reset(
+ cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height()));
+ m_pSvpGraphics->setSurface(m_pSurface.get(),
+ basegfx::B2IVector(aSize.width(), aSize.height()));
+ cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(),
+ &m_aDamageHandler, nullptr);
}
- return m_pOurSvpGraphics.get();
+ return m_pSvpGraphics.get();
}
else
{
- if (!m_pQt5Graphics || m_bGraphicsInvalid)
+ if (!m_pQt5Graphics)
{
m_pQt5Graphics.reset(new Qt5Graphics(this));
m_pQImage.reset(
new QImage(m_pQWidget->size() * devicePixelRatioF(), Qt5_DefaultFormat32));
m_pQImage->fill(Qt::transparent);
m_pQt5Graphics->ChangeQImage(m_pQImage.get());
- m_bGraphicsInvalid = false;
}
return m_pQt5Graphics.get();
}
@@ -335,7 +326,7 @@ void Qt5Frame::ReleaseGraphics(SalGraphics* pSalGraph)
{
(void)pSalGraph;
if (m_bUseCairo)
- assert(pSalGraph == m_pOurSvpGraphics.get());
+ assert(pSalGraph == m_pSvpGraphics.get());
else
assert(pSalGraph == m_pQt5Graphics.get());
m_bGraphicsInUse = false;
@@ -1145,7 +1136,6 @@ void Qt5Frame::UpdateSettings(AllSettings& rSettings)
style.SetShadowColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText)));
style.SetDarkShadowColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText)));
- m_bGraphicsInvalid = true;
rSettings.SetStyleSettings(style);
}
diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx
index ca1f914dd707..bceae35e9016 100644
--- a/vcl/qt5/Qt5Instance.cxx
+++ b/vcl/qt5/Qt5Instance.cxx
@@ -252,13 +252,21 @@ void Qt5Instance::deleteObjectLater(QObject* pObject) { pObject->deleteLater();
SalFrame* Qt5Instance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle)
{
- return new Qt5Frame(nullptr, nStyle, m_bUseCairo);
+ SalFrame* pRet(nullptr);
+ RunInMainThread([&, this]() { pRet = new Qt5Frame(nullptr, nStyle, useCairo()); });
+ assert(pRet);
+ return pRet;
}
SalFrame* Qt5Instance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle)
{
assert(!pParent || dynamic_cast<Qt5Frame*>(pParent));
- return new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, m_bUseCairo);
+
+ SalFrame* pRet(nullptr);
+ RunInMainThread(
+ [&, this]() { pRet = new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, useCairo()); });
+ assert(pRet);
+ return pRet;
}
void Qt5Instance::DestroyFrame(SalFrame* pFrame)
@@ -273,7 +281,11 @@ void Qt5Instance::DestroyFrame(SalFrame* pFrame)
SalObject* Qt5Instance::CreateObject(SalFrame* pParent, SystemWindowData*, bool bShow)
{
assert(!pParent || dynamic_cast<Qt5Frame*>(pParent));
- return new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow);
+
+ SalObject* pRet(nullptr);
+ RunInMainThread([&]() { pRet = new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow); });
+ assert(pRet);
+ return pRet;
}
void Qt5Instance::DestroyObject(SalObject* pObject)
diff --git a/vcl/unx/kf5/KF5SalFrame.cxx b/vcl/unx/kf5/KF5SalFrame.cxx
index 1aa0b9008de7..8f14594586d2 100644
--- a/vcl/unx/kf5/KF5SalFrame.cxx
+++ b/vcl/unx/kf5/KF5SalFrame.cxx
@@ -45,7 +45,6 @@
KF5SalFrame::KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nState, bool bUseCairo)
: Qt5Frame(pParent, nState, bUseCairo)
- , m_bGraphicsInUse(false)
{
}
@@ -162,27 +161,4 @@ void KF5SalFrame::UpdateSettings(AllSettings& rSettings)
rSettings.SetStyleSettings(style);
}
-SalGraphics* KF5SalFrame::AcquireGraphics()
-{
- if (m_bGraphicsInUse)
- return nullptr;
-
- m_bGraphicsInUse = true;
-
- if (!m_pKF5Graphics)
- {
- m_pKF5Graphics.reset(new Qt5SvpGraphics(this));
- Qt5Frame::InitQt5SvpGraphics(m_pKF5Graphics.get());
- }
-
- return m_pKF5Graphics.get();
-}
-
-void KF5SalFrame::ReleaseGraphics(SalGraphics* pSalGraph)
-{
- (void)pSalGraph;
- assert(pSalGraph == m_pKF5Graphics.get());
- m_bGraphicsInUse = false;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/kf5/KF5SalFrame.hxx b/vcl/unx/kf5/KF5SalFrame.hxx
index f757535c2f35..d0fdd91978e6 100644
--- a/vcl/unx/kf5/KF5SalFrame.hxx
+++ b/vcl/unx/kf5/KF5SalFrame.hxx
@@ -28,15 +28,9 @@ class QWidget;
class KF5SalFrame : public Qt5Frame
{
-private:
- std::unique_ptr<Qt5SvpGraphics> m_pKF5Graphics;
- bool m_bGraphicsInUse;
-
public:
KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo);
- virtual SalGraphics* AcquireGraphics() override;
- virtual void ReleaseGraphics(SalGraphics* pGraphics) override;
virtual void UpdateSettings(AllSettings& rSettings) override;
};
diff --git a/vcl/unx/kf5/KF5SalInstance.cxx b/vcl/unx/kf5/KF5SalInstance.cxx
index 5b95ff8df572..d9d7747fe647 100644
--- a/vcl/unx/kf5/KF5SalInstance.cxx
+++ b/vcl/unx/kf5/KF5SalInstance.cxx
@@ -40,11 +40,21 @@ KF5SalInstance::KF5SalInstance(std::unique_ptr<QApplication>& pQApp)
pSVData->maAppData.mxToolkitName = OUString("kf5");
}
-SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nState)
+SalFrame* KF5SalInstance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle)
{
SalFrame* pRet(nullptr);
- RunInMainThread([&pRet, pParent, nState]() {
- pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nState, true);
+ RunInMainThread([&, this]() { pRet = new KF5SalFrame(nullptr, nStyle, useCairo()); });
+ assert(pRet);
+ return pRet;
+}
+
+SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle)
+{
+ assert(!pParent || dynamic_cast<KF5SalFrame*>(pParent));
+
+ SalFrame* pRet(nullptr);
+ RunInMainThread([&, this]() {
+ pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nStyle, useCairo());
});
assert(pRet);
return pRet;
diff --git a/vcl/unx/kf5/KF5SalInstance.hxx b/vcl/unx/kf5/KF5SalInstance.hxx
index 5dd306da5231..b951df59ab33 100644
--- a/vcl/unx/kf5/KF5SalInstance.hxx
+++ b/vcl/unx/kf5/KF5SalInstance.hxx
@@ -28,6 +28,7 @@ class KF5SalInstance final : public Qt5Instance
QFileDialog::FileMode) override;
SalFrame* CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle) override;
+ SalFrame* CreateChildFrame(SystemParentData* pParent, SalFrameStyleFlags nStyle) override;
public:
explicit KF5SalInstance(std::unique_ptr<QApplication>& pQApp);
commit d305c9cc4a46c9ff5961a682e912bc83f5460d9c
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
AuthorDate: Wed Sep 8 19:05:30 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Sep 30 11:01:34 2021 +0200
update credits
Change-Id: Ie9a3df3c6dc8af63023e579638f13026451a346f
(cherry picked from commit 4a07a8963a74ef1659aa3e467d9288d1e3c7b9d4)
diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt
index 50d3e077a4fb..b3ee4aaa23ad 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:officeooo="http://openoffice.org/2009/office" xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rpt="http://openoffice.org/2005/report" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns
:config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="ur
n:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:xforms="http://www.w3.org/2002/xforms" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
- <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/7.1.5.2$Linux_X86_64 LibreOffice_project/85f04e9f809797b8199d13c421bd8a2b025d52b5</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="5" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="4420" meta:word-count="16345" meta:character-count="117887" meta:non-whitespace-character-count="103307"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta>
+ <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/7.2.0.4$Linux_X86_64 LibreOffice_project/9a9c6381e3f7a62afc1329bd359cc48accb6435b</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="5" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="4441" meta:word-count="16412" meta:character-count="118371" meta:non-whitespace-character-count="103730"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta>
<office:settings>
<config:config-item-set config:name="ooo:view-settings">
- <config:config-item config:name="ViewAreaTop" config:type="long">531</config:config-item>
+ <config:config-item config:name="ViewAreaTop" config:type="long">651</config:config-item>
<config:config-item config:name="ViewAreaLeft" config:type="long">501</config:config-item>
<config:config-item config:name="ViewAreaWidth" config:type="long">48588</config:config-item>
- <config:config-item config:name="ViewAreaHeight" config:type="long">27360</config:config-item>
+ <config:config-item config:name="ViewAreaHeight" config:type="long">26450</config:config-item>
<config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
<config:config-item config:name="InBrowseMode" config:type="boolean">true</config:config-item>
<config:config-item-map-indexed config:name="Views">
@@ -16,14 +16,15 @@
<config:config-item config:name="ViewLeft" config:type="long">3577</config:config-item>
<config:config-item config:name="ViewTop" config:type="long">3434</config:config-item>
<config:config-item config:name="VisibleLeft" config:type="long">501</config:config-item>
- <config:config-item config:name="VisibleTop" config:type="long">531</config:config-item>
+ <config:config-item config:name="VisibleTop" config:type="long">651</config:config-item>
<config:config-item config:name="VisibleRight" config:type="long">49087</config:config-item>
- <config:config-item config:name="VisibleBottom" config:type="long">27889</config:config-item>
+ <config:config-item config:name="VisibleBottom" config:type="long">27099</config:config-item>
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
<config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item>
<config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item>
<config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item>
<config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item>
+ <config:config-item config:name="KeepRatio" config:type="boolean">false</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-indexed>
@@ -47,6 +48,7 @@
<config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">true</config:config-item>
<config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">false</config:config-item>
<config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item>
+ <config:config-item config:name="GutterAtTop" config:type="boolean">false</config:config-item>
<config:config-item config:name="TreatSingleColumnBreakAsPageBreak" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedComplexScriptFonts" config:type="boolean">true</config:config-item>
@@ -95,7 +97,7 @@
</config:config-item-map-indexed>
<config:config-item config:name="PrinterSetup" config:type="base64Binary"/>
<config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item>
- <config:config-item config:name="Rsid" config:type="int">10252920</config:config-item>
+ <config:config-item config:name="Rsid" config:type="int">10265368</config:config-item>
<config:config-item config:name="EmbeddedDatabaseName" config:type="string"/>
<config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
<config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item>
@@ -113,6 +115,7 @@
<config:config-item config:name="MsWordCompTrailingBlanks" config:type="boolean">false</config:config-item>
<config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
+ <config:config-item config:name="TabOverSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/>
<config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item>
@@ -147,22 +150,22 @@
</office:script>
</office:scripts>
<office:font-face-decls>
- <style:font-face style:name="Mangal1" svg:font-family="Mangal"/>
- <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/>
- <style:font-face style:name="sans-serif" svg:font-family="sans-serif"/>
+ <style:font-face style:name="Albany" svg:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-pitch="variable"/>
<style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J'" style:font-pitch="variable"/>
- <style:font-face style:name="Thorndale AMT" svg:font-family="'Thorndale AMT'" style:font-family-generic="roman" style:font-pitch="variable"/>
- <style:font-face style:name="Albany" svg:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/>
- <style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-adornments="Bold" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-adornments="Regular" style:font-family-generic="swiss" style:font-pitch="variable"/>
+ <style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-adornments="Bold" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
+ <style:font-face style:name="Mangal1" svg:font-family="Mangal"/>
+ <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/>
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
+ <style:font-face style:name="Thorndale AMT" svg:font-family="'Thorndale AMT'" style:font-family-generic="roman" style:font-pitch="variable"/>
+ <style:font-face style:name="sans-serif" svg:font-family="sans-serif"/>
</office:font-face-decls>
<office:styles>
<style:default-style style:family="graphic">
<style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="true"/>
- <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
+ <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:font-independent-line-spacing="false">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Thorndale AMT" fo:font-size="12pt" fo:language="hu" fo:country="HU" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Mangal" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/>
@@ -283,52 +286,52 @@
<style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
</style:style>
<text:outline-style style:name="Outline">
- <text:outline-level-style text:level="1" style:num-format="">
+ <text:outline-level-style text:level="1" loext:num-list-format="%1%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.762cm" fo:text-indent="-0.762cm" fo:margin-left="0.762cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="2" style:num-format="">
+ <text:outline-level-style text:level="2" loext:num-list-format="%2%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.016cm" fo:text-indent="-1.016cm" fo:margin-left="1.016cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="3" style:num-format="">
+ <text:outline-level-style text:level="3" loext:num-list-format="%3%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.27cm" fo:text-indent="-1.27cm" fo:margin-left="1.27cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="4" style:num-format="">
+ <text:outline-level-style text:level="4" loext:num-list-format="%4%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.524cm" fo:text-indent="-1.524cm" fo:margin-left="1.524cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="5" style:num-format="">
+ <text:outline-level-style text:level="5" loext:num-list-format="%5%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.778cm" fo:text-indent="-1.778cm" fo:margin-left="1.778cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="6" style:num-format="">
+ <text:outline-level-style text:level="6" loext:num-list-format="%6%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.032cm" fo:text-indent="-2.032cm" fo:margin-left="2.032cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="7" style:num-format="">
+ <text:outline-level-style text:level="7" loext:num-list-format="%7%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.286cm" fo:text-indent="-2.286cm" fo:margin-left="2.286cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="8" style:num-format="">
+ <text:outline-level-style text:level="8" loext:num-list-format="%8%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-2.54cm" fo:margin-left="2.54cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="9" style:num-format="">
+ <text:outline-level-style text:level="9" loext:num-list-format="%9%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.794cm" fo:text-indent="-2.794cm" fo:margin-left="2.794cm"/>
</style:list-level-properties>
</text:outline-level-style>
- <text:outline-level-style text:level="10" style:num-format="">
+ <text:outline-level-style text:level="10" loext:num-list-format="%10%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.048cm" fo:text-indent="-3.048cm" fo:margin-left="3.048cm"/>
</style:list-level-properties>
@@ -340,23 +343,26 @@
</office:styles>
<office:automatic-styles>
<style:style style:name="Tabelle1" style:family="table">
- <style:table-properties style:width="25.652cm" table:align="left"/>
+ <style:table-properties style:width="25.395cm" table:align="left"/>
</style:style>
<style:style style:name="Tabelle1.A" style:family="table-column">
- <style:table-column-properties style:column-width="6.705cm"/>
+ <style:table-column-properties style:column-width="6.846cm"/>
</style:style>
<style:style style:name="Tabelle1.B" style:family="table-column">
- <style:table-column-properties style:column-width="6.098cm"/>
+ <style:table-column-properties style:column-width="5.701cm"/>
</style:style>
<style:style style:name="Tabelle1.C" style:family="table-column">
- <style:table-column-properties style:column-width="6.823cm"/>
+ <style:table-column-properties style:column-width="6.682cm"/>
</style:style>
<style:style style:name="Tabelle1.D" style:family="table-column">
- <style:table-column-properties style:column-width="6.027cm"/>
+ <style:table-column-properties style:column-width="6.167cm"/>
</style:style>
<style:style style:name="Tabelle1.A1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/>
</style:style>
+ <style:style style:name="Tabelle1.C392" style:family="table-cell">
+ <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
+ </style:style>
<style:style style:name="Tabelle2" style:family="table">
<style:table-properties style:width="17.865cm" table:align="left"/>
</style:style>
@@ -418,24 +424,24 @@
<style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle5" style:family="table">
- <style:table-properties style:width="31.492cm" table:align="left"/>
+ <style:table-properties style:width="32.819cm" table:align="left"/>
</style:style>
<style:style style:name="Tabelle5.A" style:family="table-column">
- <style:table-column-properties style:column-width="6.657cm"/>
+ <style:table-column-properties style:column-width="7.96cm"/>
</style:style>
<style:style style:name="Tabelle5.B" style:family="table-column">
- <style:table-column-properties style:column-width="6.262cm"/>
+ <style:table-column-properties style:column-width="11.756cm"/>
</style:style>
<style:style style:name="Tabelle5.C" style:family="table-column">
- <style:table-column-properties style:column-width="11.756cm"/>
+ <style:table-column-properties style:column-width="6.749cm"/>
</style:style>
<style:style style:name="Tabelle5.D" style:family="table-column">
- <style:table-column-properties style:column-width="6.817cm"/>
+ <style:table-column-properties style:column-width="6.354cm"/>
</style:style>
<style:style style:name="Tabelle5.A1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/>
</style:style>
- <style:style style:name="Tabelle5.D670" style:family="table-cell">
+ <style:style style:name="Tabelle5.C674" style:family="table-cell">
<style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
</style:style>
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Table_20_Contents">
@@ -448,41 +454,41 @@
<style:paragraph-properties fo:padding="0cm" fo:border="none"/>
<style:text-properties officeooo:paragraph-rsid="00378072"/>
</style:style>
- <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Text_20_body">
- <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
+ <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
+ <style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
+ <style:text-properties officeooo:paragraph-rsid="00378072"/>
</style:style>
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Text_20_body">
- <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false" style:writing-mode="lr-tb"/>
+ <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
- <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
- <style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
+ <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Text_20_body">
+ <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false" style:writing-mode="lr-tb"/>
</style:style>
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
<style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
- <style:text-properties officeooo:rsid="001cf3c0" officeooo:paragraph-rsid="001cf3c0"/>
</style:style>
<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
- <style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
- <style:text-properties officeooo:paragraph-rsid="001cf3c0"/>
+ <style:paragraph-properties style:page-number="auto"/>
</style:style>
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
<style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
- <style:text-properties officeooo:rsid="0020b307" officeooo:paragraph-rsid="0020b307"/>
+ <style:text-properties officeooo:rsid="001cf3c0" officeooo:paragraph-rsid="001cf3c0"/>
</style:style>
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
<style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
- <style:text-properties officeooo:paragraph-rsid="0020b307"/>
+ <style:text-properties officeooo:paragraph-rsid="001cf3c0"/>
</style:style>
<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
<style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
- <style:text-properties officeooo:rsid="00378072" officeooo:paragraph-rsid="00378072"/>
+ <style:text-properties officeooo:rsid="0020b307" officeooo:paragraph-rsid="0020b307"/>
</style:style>
<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
<style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
- <style:text-properties officeooo:paragraph-rsid="00378072"/>
+ <style:text-properties officeooo:paragraph-rsid="0020b307"/>
</style:style>
<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="">
- <style:paragraph-properties style:page-number="auto"/>
+ <style:paragraph-properties style:page-number="auto" fo:padding="0cm" fo:border="none"/>
+ <style:text-properties officeooo:rsid="00378072" officeooo:paragraph-rsid="00378072"/>
</style:style>
<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Text_20_body">
<style:text-properties officeooo:paragraph-rsid="0036e394"/>
@@ -497,33 +503,30 @@
<style:text-properties fo:font-size="2pt" style:font-size-asian="2pt" style:font-size-complex="2pt"/>
</style:style>
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L1"/>
- <style:style style:name="P19" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L3"/>
- <style:style style:name="P20" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L4"/>
- <style:style style:name="P21" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L5"/>
- <style:style style:name="P22" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L6"/>
- <style:style style:name="P23" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L7"/>
- <style:style style:name="P24" style:family="paragraph" style:parent-style-name="Text_20_body">
- <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
- </style:style>
- <style:style style:name="P25" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L1">
+ <style:style style:name="P19" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L2">
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
- <style:style style:name="P26" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L2">
+ <style:style style:name="P20" style:family="paragraph" style:parent-style-name="Text_20_body">
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
- <style:style style:name="P27" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L3">
+ <style:style style:name="P21" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L3"/>
+ <style:style style:name="P22" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L3">
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
- <style:style style:name="P28" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L4">
+ <style:style style:name="P23" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L4"/>
+ <style:style style:name="P24" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L4">
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
- <style:style style:name="P29" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L5">
+ <style:style style:name="P25" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L5"/>
+ <style:style style:name="P26" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L5">
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
- <style:style style:name="P30" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L6">
+ <style:style style:name="P27" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L6"/>
+ <style:style style:name="P28" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L6">
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
- <style:style style:name="P31" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L7">
+ <style:style style:name="P29" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L7"/>
+ <style:style style:name="P30" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L7">
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:contextual-spacing="false"/>
</style:style>
<style:style style:name="T1" style:family="text">
@@ -547,258 +550,261 @@
</style:section-properties>
</style:style>
<text:list-style style:name="L1">
- <text:list-level-style-number text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="1" text:style-name="Bullet_20_Symbols" loext:num-list-format="%1%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="0.748cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="2" text:style-name="Bullet_20_Symbols" loext:num-list-format="%2%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="1.995cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="3" text:style-name="Bullet_20_Symbols" loext:num-list-format="%3%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="3.242cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="4" text:style-name="Bullet_20_Symbols" loext:num-list-format="%4%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="4.489cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="5" text:style-name="Bullet_20_Symbols" loext:num-list-format="%5%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="5.736cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="6" text:style-name="Bullet_20_Symbols" loext:num-list-format="%6%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="6.983cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="7" text:style-name="Bullet_20_Symbols" loext:num-list-format="%7%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="8.23cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="8" text:style-name="Bullet_20_Symbols" loext:num-list-format="%8%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="9.478cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="9" text:style-name="Bullet_20_Symbols" loext:num-list-format="%9%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="10.725cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
- <text:list-level-style-number text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." style:num-format="a">
+ <text:list-level-style-number text:level="10" text:style-name="Bullet_20_Symbols" loext:num-list-format="%10%." style:num-suffix="." style:num-format="a">
<style:list-level-properties text:space-before="11.972cm" text:min-label-width="0.499cm"/>
</text:list-level-style-number>
</text:list-style>
<text:list-style style:name="L2">
- <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" loext:num-list-format="%1%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="0.748cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" loext:num-list-format="%2%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="1.995cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" loext:num-list-format="%3%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="3.242cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" loext:num-list-format="%4%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="4.489cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" loext:num-list-format="%5%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="5.736cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" loext:num-list-format="%6%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="6.983cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" loext:num-list-format="%7%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="8.23cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" loext:num-list-format="%8%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="9.478cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+ <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" loext:num-list-format="%9%." style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="10.725cm" text:min-label-width="0.499cm"/>
</text:list-level-style-bullet>
- <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list