434442 Commits

Author SHA1 Message Date
Michael Stahl
f8d98bcf37 tdf#123745 vcl: fix some crash in Window::SetHelpHdl()
Qt5 has some QEvent::DeferredDelete thing, perhaps that's why it calls
this on a disposed Window?

0 vcl::Window::SetHelpHdl(Link<vcl::Window&, bool> const&) (this=0x60cf9e0, rLink=...) at vcl/source/window/window.cxx:1825
1 SalInstanceWindow::clear_child_help(vcl::Window*) (this=0x7fa40c0, pParent=0x60cf9e0) at vcl/source/app/salvtables.cxx:825
2 SalInstanceWindow::~SalInstanceWindow() (this=0x7fa40c0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at vcl/source/app/salvtables.cxx:962
3 SalInstanceWindow::~SalInstanceWindow() (this=0x7fa40c0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at vcl/source/app/salvtables.cxx:963
4 std::default_delete<weld::Window>::operator()(weld::Window*) const (this=0x60d0b90, __ptr=0x7fa4190) at /usr/include/c++/8/bits/unique_ptr.h:81
5 std::unique_ptr<weld::Window, std::default_delete<weld::Window> >::~unique_ptr() (this=0x60d0b90, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/unique_ptr.h:274
6 SalFrame::~SalFrame() (this=0x60d0b40, __in_chrg=<optimized out>) at vcl/source/app/salvtables.cxx:73
7 Qt5Frame::~Qt5Frame() (this=0x60d0b30, __in_chrg=<optimized out>) at vcl/qt5/Qt5Frame.cxx:167
8 KDE5SalFrame::~KDE5SalFrame() (this=0x60d0b30, __in_chrg=<optimized out>) at vcl/unx/kde5/KDE5SalFrame.hxx:34
9 KDE5SalFrame::~KDE5SalFrame() (this=0x60d0b30, __in_chrg=<optimized out>) at vcl/unx/kde5/KDE5SalFrame.hxx:34
10 QObject::event(QEvent*) (this=0x60d0b30, e=<optimized out>) at kernel/qobject.cpp:1242

Change-Id: I2ac8cb24924ea3178c2b3eed14350515d8506ec3
Reviewed-on: https://gerrit.libreoffice.org/68581
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-05 13:19:08 +01:00
Michael Stahl
7e251025b9 tdf#119856 vcl: convert Qt5FilePicker and Qt5Menu to RunInMainThread
... and also convert KDE5FilePicker. And Qt5Frame.

The UNO methods in Qt5FilePicker/KDE5FilePicker have to ensure that the
thread actually owns SolarMutex, because if RunInMainThread() is
called without that it will deadlock.

Change-Id: Ie4d2f494ac81c799ec7c9a3acb3a9b0f77bb6361
Reviewed-on: https://gerrit.libreoffice.org/68357
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-05 13:11:39 +01:00
Michael Stahl
69c46bf533 tdf#119856 vcl: fix Qt warning Qt5Frame::SetModal()
This prints a warning "Cannot create children for a parent that is in a
different thread"; let's fix it before it causes another hard to debug
crash.

0  check_parent_thread(QObject*, QThreadData*, QThreadData*) (parent=parent@entry=0xe88ca0, parentThreadData=<optimized out>, currentThreadData=<optimized out>) at kernel/qobject.cpp:781
1  check_parent_thread (currentThreadData=<optimized out>, parentThreadData=<optimized out>, parent=0xe88ca0) at kernel/qobject.cpp:822
2  QObject::QObject(QObject*) (this=0x9ed2e80, parent=0xe88ca0) at kernel/qobject.cpp:810
3  Adwaita::GenericData::GenericData(QObject*, QWidget*, int) () at /usr/lib64/qt5/plugins/styles/adwaita.so
4  Adwaita::WidgetStateEngine::registerWidget(QWidget*, QFlags<Adwaita::AnimationMode>) () at /usr/lib64/qt5/plugins/styles/adwaita.so
5  Adwaita::Animations::registerWidget(QWidget*) const () at /usr/lib64/qt5/plugins/styles/adwaita.so
6  Adwaita::Style::polish(QWidget*) () at /usr/lib64/qt5/plugins/styles/adwaita.so
7  QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5
8  Qt5Widget::event(QEvent*) (this=0x7321790, pEvent=0x7f90c27d3750) at vcl/qt5/Qt5Widget.cxx:416
9  QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
10 QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
11 QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7321790, event=0x7f90c27d3750) at kernel/qcoreapplication.cpp:1047
12 QWidget::ensurePolished() const () at /lib64/libQt5Widgets.so.5
13 QWidget::setVisible(bool) () at /lib64/libQt5Widgets.so.5
14 Qt5Frame::SetModal(bool) (this=0x9f411b0, bModal=true) at vcl/qt5/Qt5Frame.cxx:482

Change-Id: Ib6b4d1ee859dfce650422a6c7860abf2eb2686f1
Reviewed-on: https://gerrit.libreoffice.org/68356
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-05 13:09:59 +01:00
Michael Stahl
621bebd864 tdf#119856 vcl: fix Qt5FilePicker destructor to run in main thread
During QFileDialog dtor, QSocketNotifier::setEnabled(false) is called,
but it doesn't do anything other than print a stupid warning and so it's
still registered and later it receives events after it's dead.

0   QSocketNotifier::setEnabled(bool) (this=this@entry=0x991c058, enable=enable@entry=false) at kernel/qsocketnotifier.cpp:240
1   QInotifyFileSystemWatcherEngine::~QInotifyFileSystemWatcherEngine() (this=0x991c030, __in_chrg=<optimized out>) at io/qfilesystemwatcher_inotify.cpp:260
2   QInotifyFileSystemWatcherEngine::~QInotifyFileSystemWatcherEngine() (this=0x991c030, __in_chrg=<optimized out>) at io/qfilesystemwatcher_inotify.cpp:258
3   QObjectPrivate::deleteChildren() (this=this@entry=0x991c240) at kernel/qobject.cpp:1997
4   QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1025
5   QFileSystemWatcher::~QFileSystemWatcher() (this=0x9641b60, __in_chrg=<optimized out>) at io/qfilesystemwatcher.cpp:277
6   QObjectPrivate::deleteChildren() (this=this@entry=0x2a30130) at kernel/qobject.cpp:1997
7   QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1025
8   QThread::~QThread() (this=0x2a079b8, __in_chrg=<optimized out>) at thread/qmutex.h:217
9    () at /lib64/libQt5Widgets.so.5
10  QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:52
11  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (this=0x98aa4d8, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
12  QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:884
13  QFileSystemModel::~QFileSystemModel() () at /lib64/libQt5Widgets.so.5
14  QObjectPrivate::deleteChildren() (this=0x97bab00) at kernel/qobject.cpp:1997
15  QWidget::~QWidget() () at /lib64/libQt5Widgets.so.5
16  QFileDialog::~QFileDialog() () at /lib64/libQt5Widgets.so.5
17  std::default_delete<QFileDialog>::operator()(QFileDialog*) const (this=0x9770f90, __ptr=0x926e970) at /usr/include/c++/8/bits/unique_ptr.h:81
18  std::unique_ptr<QFileDialog, std::default_delete<QFileDialog> >::~unique_ptr() (this=0x9770f90, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/unique_ptr.h:274
19  Qt5FilePicker::~Qt5FilePicker() (this=0x9770ed0, __in_chrg=<optimized out>) at vcl/qt5/Qt5FilePicker.cxx:155

Change-Id: Iddfa3d44de59e1760e20a389566d9e6815ab26f7
Reviewed-on: https://gerrit.libreoffice.org/68355
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-05 12:56:46 +01:00
Michael Stahl
265caa4381 tdf#119856 vcl: Qt5/KDE5 RunInMainThread
The problem with the current approach of transferring calls to the main
thread with Q_EMIT signals is that if the code that should run in the
main thread needs SolarMutex, then the non-main-thread must use
SolarMutexReleaser - but then the main thread will run not only the call
that is needed right now, but will potentially process all pending
events, and the other thread hasn't prepared for that.

We need the inter-thread feature of Qt::BlockingQueuedConnection and the
non-queued feature of Qt::DirectConnection, but this combination doesn't
appear to exist.

So the SolarMutexReleaser needs to go - but then the main thread does
need SolarMutex for some things, and hence we need to trick it into
believing it has SolarMutex with the m_bNoYieldLock hack.

Then it becomes apparent that the main thread may be blocked on either
Qt events, which is fine, or on the SalYieldMutex's m_aMutex, which will
never be released now.

So the main thread must never block on m_aMutex; the alternative is to
use the same approach as the osx code (and, in a somewhat different
form, the svp code), and add some condition variables on which the main
thread can block if it fails to acquire the m_aMutex immediately.

It's even possible to do this in a somewhat generic way with lambdas.

This does appear to work, but it makes the Q_EMIT approach entirely
untenable, because now the main thread will be blocked on the condition
variable and the non-main-thread will be blocked until the Qt event is
processed.

Change-Id: I6480a6b909d5ec8814b2ff10dbefb0f3686a83c7
Reviewed-on: https://gerrit.libreoffice.org/68232
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-05 12:47:57 +01:00
Katarina Behrens
c3751ed3c9 tdf#120783: take suggested/preferred DnD ops into account
use those for drag operation start in Qt5Widget and eventually
to construct DropTargetDragEnterEvent

Change-Id: I3a92cbe722dadc64f8a210f7fd4016c8eb17216b
Reviewed-on: https://gerrit.libreoffice.org/68675
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-05 12:18:11 +01:00
Aurimas Fišeras
98b8fa299f Add missing DoClose
Change-Id: Ia051ba960102e53a4dc6cb6b3444ea923a351c3d
Signed-off-by: Aurimas Fišeras <aurimas@members.fsf.org>
Reviewed-on: https://gerrit.libreoffice.org/68619
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-05 12:14:24 +01:00
Michael Stahl
405661a98f tdf#123446 sw_redlinehide: fix crash on Redo of ToX
The problem is that the ToX must be updated with the same layout redline
setting as it was originally created, so that subsequent Redo actions
see the expected node indexes.

Unfortunately it's not enough to just pass a flag to the ToX update
functions, because they check GetTextNodeForParaProps() so we need a
layout corresponding to the layout setting; if there isn't one, the
existing one is temporarily toggled.

This could be much better if the MergedPara would be independent of the
layout and always exist, but with the various SwModify design issues
that looks tricky to do...

(regression from 80cedb5dcb6a7dd6c01349b93fab49ecee5f6594)

Change-Id: Ibdc5b4ace54ace27e5223a25ecaf39bb493fb69b
Reviewed-on: https://gerrit.libreoffice.org/68704
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Michael Stahl <Michael.Stahl@cib.de>
2019-03-05 12:12:58 +01:00
Noel Grandin
191f85df58 re-land "new loplugin typedefparam""
This reverts commit c9bb48386bad7d2a40e6958883328145ae439cad,
and adds a bunch more fixes.

Change-Id: Ib584d302a73125528eba85fa1e722cb6fc41538a
Reviewed-on: https://gerrit.libreoffice.org/68680
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-05 12:12:26 +01:00
Tomaž Vajngerl
983566119c Add support for <image> draw definition to draw a SVG image
Attribute "source" is used to get the relative path to the image.
Path is relative to the definition file.

Change-Id: I6ca0c113385e26ad74b928e1f56635b4b0cef995
Reviewed-on: https://gerrit.libreoffice.org/68712
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-05 11:23:41 +01:00
Serge Krot
5723d303a4 tdf#122920 uitest: XMouseListener is not called for top most window
Change-Id: Ia6f79e50b93004b8bf896e24450ce8666b303037
Reviewed-on: https://gerrit.libreoffice.org/66856
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-03-05 10:30:58 +01:00
Stephan Bergmann
47078995c2 Better types for nFc and nLen
...given that they get assigned with values of those types.  This change has no
actual effect on the results, but silences Clang
-fsanitize=implicit-signed-integer-truncation warnings like "implicit conversion
from type 'long' of value -671088640 (64-bit, signed) to type 'sal_uInt32' (aka
'unsigned int') changed the value to 3623878656 (32-bit, unsigned)".

Change-Id: I763a9d85b9e40797312688551206c308fc3d36e3
Reviewed-on: https://gerrit.libreoffice.org/68705
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-05 09:54:45 +01:00
Caolán McNamara
69e890b169 weld ODatasourceSelectDialog
Change-Id: I33a45f6d68c4a6cba63301dbb6c94ea661365a9a
Reviewed-on: https://gerrit.libreoffice.org/68651
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-03-05 09:52:09 +01:00
Gabor Kelemen
4a88213bc5 tdf#42949 Fix IWYU warnings in include/cppcanvas/*
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I8174b6e684b5b46a8abd3ca825b7de75f9255df3
Reviewed-on: https://gerrit.libreoffice.org/68703
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-05 09:00:22 +01:00
Stephan Bergmann
04073c7a7c Avoid overflowing sal_Int16 PROP_GRID_LINES
...as seen with Clang's -fsanitize=implicit-signed-integer-truncation during
CppunitTest_sw_ooxmlexport4 when nTextAreaHeight=36920 and m_nGridLinePitch=1:

> writerfilter/source/dmapper/PropertyMap.cxx:1519:38: runtime error: implicit conversion from type 'int' of value 36920 (32-bit, signed) to type 'const sal_Int16' (aka 'const short') changed the value to -28616 (16-bit, signed)
>  #0 in writerfilter::dmapper::SectionPropertyMap::CloseSectionGroup(writerfilter::dmapper::DomainMapper_Impl&) at writerfilter/source/dmapper/PropertyMap.cxx:1519:38
>  #1 in writerfilter::dmapper::DomainMapper::lcl_endSectionGroup() at writerfilter/source/dmapper/DomainMapper.cxx:2881:30
>  #2 in writerfilter::LoggedStream::endSectionGroup() at writerfilter/source/dmapper/LoggedResources.cxx:101:5
>  #3 in writerfilter::ooxml::OOXMLFastContextHandler::endSectionGroup() at writerfilter/source/ooxml/OOXMLFastContextHandler.cxx:434:23
>  #4 in writerfilter::ooxml::OOXMLFactory_wml::endAction(writerfilter::ooxml::OOXMLFastContextHandler*) at workdir/CustomTarget/writerfilter/source/ooxml/OOXMLFactory_wml.cxx:7517:19
>  #5 in writerfilter::ooxml::OOXMLFactory::endAction(writerfilter::ooxml::OOXMLFastContextHandler*) at writerfilter/source/ooxml/OOXMLFactory.cxx:199:19
>  #6 in writerfilter::ooxml::OOXMLFastContextHandler::lcl_endFastElement(int) at writerfilter/source/ooxml/OOXMLFastContextHandler.cxx:195:5
>  #7 in writerfilter::ooxml::OOXMLFastContextHandler::endFastElement(int) at writerfilter/source/ooxml/OOXMLFastContextHandler.cxx:177:9
>  #8 in (anonymous namespace)::Entity::endElement() at sax/source/fastparser/fastparser.cxx:483:27
>  #9 in sax_fastparser::FastSaxParserImpl::callbackEndElement() at sax/source/fastparser/fastparser.cxx:1274:17
>  #10 in (anonymous namespace)::call_callbackEndElement(void*, unsigned char const*, unsigned char const*, unsigned char const*) at sax/source/fastparser/fastparser.cxx:310:18
>  #11 in xmlParseEndTag2 at workdir/UnpackedTarball/libxml2/parser.c:9680:2
>  #12 in xmlParseTryOrFinish at workdir/UnpackedTarball/libxml2/parser.c:11531:7
>  #13 in xmlParseChunk__internal_alias at workdir/UnpackedTarball/libxml2/parser.c:12244:13
>  #14 in sax_fastparser::FastSaxParserImpl::parse() at sax/source/fastparser/fastparser.cxx:1043:21
>  #15 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::xml::sax::InputSource const&) at sax/source/fastparser/fastparser.cxx:863:9
>  #16 in sax_fastparser::FastSaxParser::parseStream(com::sun::xml::sax::InputSource const&) at sax/source/fastparser/fastparser.cxx:1359:13
>  #17 in writerfilter::ooxml::OOXMLDocumentImpl::resolve(writerfilter::Stream&) at writerfilter/source/ooxml/OOXMLDocumentImpl.cxx:504:22
>  #18 in WriterFilter::filter(com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at writerfilter/source/filter/WriterFilter.cxx:192:24
>  #19 in SfxObjectShell::ImportFrom(SfxMedium&, com::sun::uno::Reference<com::sun::text::XTextRange> const&) at sfx2/source/doc/objstor.cxx:2212:34
>  #20 in SfxObjectShell::DoLoad(SfxMedium*) at sfx2/source/doc/objstor.cxx:741:23
>  #21 in SfxBaseModel::load(com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1844:36
>  #22 in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&, com::sun::uno::Reference<com::sun::frame::XFrame> const&) at sfx2/source/view/frmload.cxx:689:28
>  #23 in framework::LoadEnv::impl_loadContent() at framework/source/loadenv/loadenv.cxx:1150:37
>  #24 in framework::LoadEnv::startLoading() at framework/source/loadenv/loadenv.cxx:384:20
>  #25 in framework::LoadEnv::loadComponentFromURL(com::sun::uno::Reference<com::sun::frame::XComponentLoader> const&, com::sun::uno::Reference<com::sun::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at framework/source/loadenv/loadenv.cxx:170:14
>  #26 in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at framework/source/services/desktop.cxx:619:12
>  #27 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at framework/source/services/desktop.cxx
>  #28 in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at unotest/source/cpp/macros_test.cxx:50:60
>  #29 in SwModelTestBase::loadURL(rtl::OUString const&, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:761:23
>  #30 in SwModelTestBase::load(rtl::OUString const&, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:716:16
>  #31 in SwModelTestBase::executeImportTest(char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:264:13
>  #32 in testTdf86926_A3::Import() at sw/qa/extras/ooxmlexport/ooxmlexport4.cxx:1140:1
[...]

Change-Id: Idf694b0dda871f1313d36c03764b0199e10d1b25
Reviewed-on: https://gerrit.libreoffice.org/68710
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-05 08:57:00 +01:00
Roman Kuznetsov
7813c499fc tdf#105445 Change label "Export comments" to "Comments as PDF annotations"
Change-Id: I7036c2e699eb394f008fe3eeb1b93247b8c6fb22
Reviewed-on: https://gerrit.libreoffice.org/68696
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com>
2019-03-05 08:53:34 +01:00
Stephan Bergmann
1e73e4a2b6 nPara[1] needs clamping too, after all
Follow-up to 4bf2b13647030d4e5a44d6a23d5570aeea70c333 "Clamp equation values
when exporting to binary MS format", during CppunitTest_sw_ooxmlexport6:

> filter/source/msfilter/escherex.cxx:2935:50: runtime error: implicit conversion from type 'sal_Int32' (aka 'int') of value 2700000 (32-bit, signed) to type 'sal_Int16' (aka 'short') changed the value to 13024 (16-bit, signed)
>  #0 in EscherPropertyContainer::CreateCustomShapeProperties(MSO_SPT, com::sun::uno::Reference<com::sun::drawing::XShape> const&) at filter/source/msfilter/escherex.cxx:2935:50
>  #1 in ImplEESdrWriter::ImplWriteShape(ImplEESdrObject&, EscherSolverContainer&, bool) at filter/source/msfilter/eschesdo.cxx:283:26
>  #2 in ImplEESdrWriter::ImplWriteShape(ImplEESdrObject&, EscherSolverContainer&, bool) at filter/source/msfilter/eschesdo.cxx:215:25
>  #3 in ImplEESdrWriter::ImplWriteTheShape(ImplEESdrObject&, bool) at filter/source/msfilter/eschesdo.cxx:932:12
>  #4 in EscherEx::AddSdrObject(SdrObject const&, bool) at filter/source/msfilter/eschesdo.cxx:951:35
>  #5 in oox::vml::VMLExport::AddSdrObject(SdrObject const&, short, short, short, short, bool) at oox/source/export/vmlexport.cxx:1425:15
>  #6 in DocxSdrExport::writeVMLDrawing(SdrObject const*, SwFrameFormat const&) at sw/source/filter/ww8/docxsdrexport.cxx:844:40
>  #7 in DocxSdrExport::writeDMLAndVMLDrawing(SdrObject const*, SwFrameFormat const&, int) at sw/source/filter/ww8/docxsdrexport.cxx:1051:9
>  #8 in DocxAttributeOutput::OutputFlyFrame_Impl(ww8::Frame const&, Point const&) at sw/source/filter/ww8/docxattributeoutput.cxx:5586:57
>  #9 in AttributeOutputBase::OutputFlyFrame(ww8::Frame const&) at sw/source/filter/ww8/wrtw8nds.cxx:3265:5
>  #10 in SwWW8AttrIter::OutFlys(int) at sw/source/filter/ww8/wrtw8nds.cxx:665:41
>  #11 in MSWordExportBase::OutputTextNode(SwTextNode&) at sw/source/filter/ww8/wrtw8nds.cxx:2274:42
>  #12 in MSWordExportBase::OutputContentNode(SwContentNode&) at sw/source/filter/ww8/wrtw8nds.cxx:3329:13
>  #13 in MSWordExportBase::WriteText() at sw/source/filter/ww8/wrtww8.cxx:2725:13
>  #14 in DocxExport::WriteMainText() at sw/source/filter/ww8/docxexport.cxx:1489:5
>  #15 in DocxExport::ExportDocument_Impl() at sw/source/filter/ww8/docxexport.cxx:527:5
>  #16 in MSWordExportBase::ExportDocument(bool) at sw/source/filter/ww8/wrtww8.cxx:3210:19
>  #17 in DocxExportFilter::exportDocument() at sw/source/filter/ww8/docxexportfilter.cxx:86:17
>  #18 in oox::core::FilterBase::filter(com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at oox/source/core/filterbase.cxx:497:55
>  #19 in WriterFilter::filter(com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at writerfilter/source/filter/WriterFilter.cxx:150:23
>  #20 in SfxObjectShell::ExportTo(SfxMedium&) at sfx2/source/doc/objstor.cxx:2414:25
>  #21 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1496:19
>  #22 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&) at sfx2/source/doc/objstor.cxx:2821:39
>  #23 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objstor.cxx:2678:9
>  #24 in SfxObjectShell::APISaveAs_Impl(rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objserv.cxx:323:19
>  #25 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3018:42
>  #26 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1689:13
>  #27 in SwModelTestBase::reload(char const*, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:796:20
>  #28 in SwModelTestBase::executeImportExportImportTest(char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:283:9
>  #29 in testDmlGroupshapeRelsize::Import_Export_Import() at sw/qa/extras/ooxmlexport/ooxmlexport6.cxx:80:1
[...]

Change-Id: I40fdbcc599960aecabc4b2c96820eb3492509be0
Reviewed-on: https://gerrit.libreoffice.org/68715
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-05 08:49:01 +01:00
Stephan Bergmann
8c536c6d8d Change type of buffer to unsigned char
This change has no actual effect on the results, but silences benign Clang
-fsanitize=implicit-signed-integer-truncation warnings.

Change-Id: I0e96d998f9030c5bb4431dc0ccd689c8f2f3aeea
Reviewed-on: https://gerrit.libreoffice.org/68711
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-05 08:48:30 +01:00
Stephan Bergmann
18bef257d1 Assume that EMR_SETVIEWPORTEXTEX wants to read signed values
...similar to 095e1ca4372d90da7fc56051f1271ddd975a9e3a "Assume that
EMR_SETWINDOWEXTEX wants to read signed values", this time causing "implicit
conversion from type 'long' of value 4294967200 (64-bit, signed) to type
'sal_Int32' (aka 'int') changed the value to -96 (32-bit, signed)" in
emfio::MtfTools::SetDevExt (emfio/source/reader/mtftools.cxx) during
CppunitTest_sw_rtfexport2.

Change-Id: I114cc883fd3ac78291df8190b8528384966b563f
Reviewed-on: https://gerrit.libreoffice.org/68709
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-05 08:47:29 +01:00
Stephan Bergmann
4c28917c14 Simplify Sequence construction
Change-Id: I96100bcca965943aa59a4da4e578a0792303d2bb
Reviewed-on: https://gerrit.libreoffice.org/68707
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-05 08:47:01 +01:00
Stephan Bergmann
bc3c181b81 Introduce SVBT16ToInt16 for reading sal_Int16 instead of sal_uInt16
This change does not change the actual results, but avoids Clang
-fsanitize=implicit-signed-integer-truncation warnings

Change-Id: If82193d7a6ad6bdadb4e8a8b3ed3bbdf3d88c4a3
Reviewed-on: https://gerrit.libreoffice.org/68706
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-05 08:46:36 +01:00
Mike Kaganski
2cf8e2b9ee Remove redundant assignment
Change-Id: Ie1ccac4748ae949367448d2977590c0483926a71
Reviewed-on: https://gerrit.libreoffice.org/68728
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-03-05 08:40:02 +01:00
Samuel Mehrbrodt
34ec465717 Check svg URLs before exporting
Change-Id: I3b86b6b82318b0d201c3d7db516664520eb47bed
Reviewed-on: https://gerrit.libreoffice.org/68668
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-03-05 08:39:55 +01:00
Miklos Vajna
fa10258d72 tdf#123243 DOCX import: make increased anchored obj spacing cond more strict
Regression from commit 8b73bafbc18acb4dd8911d2f2de8158d98eb6144
(tdf#115719 DOCX import: increase paragraph spacing for anchored
objects, 2018-02-14), which is an import-time workaround for a Word
layout bug.

Re-checking the original document from that bug, this only happens with
more anchored shapes (to the same paragraph), so make the workaround
condition more strict, fixing the layout of this bugdoc.

(Which means tdf115719.docx and tdf115719b.docx are modified to be more
close to the original bugdoc.)

Just checked, sadly Word's layout bug is still there in MSO 2019, so
can't revert our emulation of it (not yet).

Change-Id: I26f74a497b7718f8f3a2eadac481c8722e85e680
Reviewed-on: https://gerrit.libreoffice.org/68708
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-05 08:35:02 +01:00
Noel Grandin
25d176ada6 tdf#123796 Wrong cursor when inserting shape
regression from
    commit c5ac80d90ebcc1c3fad18ece8784ac2b36f52045
	make cursor images part of the theme

Turns out that I can't put SVG files into a normal theme, only
colibre_svg is allowed to contain SVG files, so my idea of having only
one set of files is not going to fly. So make a copy of the PNG files
into the colibre theme, which is what everything currently falls back
to.

Change-Id: I5f04226da5c8b3d5db7e9807e845112b76b72f22
Reviewed-on: https://gerrit.libreoffice.org/68695
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-05 08:17:32 +01:00
Mike Kaganski
ac69149bef nMediaArgsCount is const
Change-Id: Ideab44b6712013199cd22216bfe5875c0ec0c545
Reviewed-on: https://gerrit.libreoffice.org/68727
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-03-05 08:17:14 +01:00
andreas kainz
8f56281ad5 sync sweb ui files with swriter ui files
Change-Id: If9e6628ded7df0c822d57859e22a9a1e71d3c311
Reviewed-on: https://gerrit.libreoffice.org/68521
Tested-by: Jenkins
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
2019-03-05 08:15:38 +01:00
andreas kainz
c3252c9cc8 Sifr icon theme update
Change-Id: I0f3633ca6caa0d3c7707c04f40f6aa7d4b11eda9
Reviewed-on: https://gerrit.libreoffice.org/68720
Tested-by: Jenkins
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
2019-03-05 07:59:06 +01:00
Bartosz Kosiorek
df22e97db5 tdf#123452 EMF Re-enable compression for image/x-emf files
Change-Id: I9fd801d5eef6c65f8e68e30723415da7b493d767
Reviewed-on: https://gerrit.libreoffice.org/68716
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2019-03-05 07:43:05 +01:00
Andrea Gelmini
22f94eb4f7 Fix typo
Change-Id: Ie8919bff20c7b29a3fee7a25bba65550b3fd086d
Reviewed-on: https://gerrit.libreoffice.org/68726
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-03-05 07:13:49 +01:00
Tomaž Vajngerl
d81a11220d Simplify code to add a draw command (subclass)
Change-Id: Ie7bd304f80ddfa55dc2ed986fa033b25e845d449
Reviewed-on: https://gerrit.libreoffice.org/68698
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 22:42:18 +01:00
Tomaž Vajngerl
394bf64515 Draw basic combobox from the theme definition
Change-Id: I2ed631676be878bd5e89872077ab47937aabbf7a
Reviewed-on: https://gerrit.libreoffice.org/68697
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 22:42:00 +01:00
Tomaž Vajngerl
c4378dd23e Draw basic checkbox from the theme definition
Change-Id: I8b8a0bbe0d17736dd19151cebe4ad2d5344ea691
Reviewed-on: https://gerrit.libreoffice.org/68693
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 22:41:51 +01:00
Tomaž Vajngerl
1042c2c5a3 use basegfx to convert circle/roundrect to a polygon
The tools::Polygon functions to draw a circle, roundrect are lower
quality.

Change-Id: I6226ac917d600b2a14a99c9a27aa371233799e16
Reviewed-on: https://gerrit.libreoffice.org/68692
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 22:17:31 +01:00
Tomaž Vajngerl
2f8eb233b8 remove margin param. and replace it with a relative "rectangle"
Relative rectangle - x1, y1, x2, y2 with valid values in the range
between 0.0 and 1.0, where 0, 0 is top left corner and 1, 1 is the
bottom right corner of the control rectangle.

Change-Id: I2b782a43e91328cf43dc0722e50c55414fb3e867
Reviewed-on: https://gerrit.libreoffice.org/68691
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 22:17:23 +01:00
Tomaž Vajngerl
9671ac2dac Refactor so we have only one definition map and ControlTypeAndPart
Until now we had multiple maps, each for a specific ControlType
(maPushButtonDefinitions for example) which had multiple parts
identified by the string.
To simplify matters, this changes that we have just one map for
a specific ControlType and ControlPart which are identified by
ControlTypeAndPart structure.

Change-Id: I90a2e5c8f83d697d26049054eacab250e2768c03
Reviewed-on: https://gerrit.libreoffice.org/68690
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 21:20:24 +01:00
Tomaž Vajngerl
a69ce55133 move WidgetDefinition{Part,State} into its own file
to separate it completely from WidgetDefinitionReader and make it
independent..

Change-Id: If3d6f0e8826b39be28ae18ddf74f2643d1084ec4
Reviewed-on: https://gerrit.libreoffice.org/68689
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 19:09:25 +01:00
Tomaž Vajngerl
fb6f8a0f15 separate WidgetDefinitionReader from the actual WidgetDefinition
This separates the functionallity to read the definition from the
definition itself. This is needed to have both responisibilities
separated so it's easier to work with and test.

Change-Id: Id0dd9c17852a8b7479e9d01d4c1726e915d3dc6e
Reviewed-on: https://gerrit.libreoffice.org/68681
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04 19:09:16 +01:00
Gabor Kelemen
8a1c18823c tdf#42949 Fix IWYU warnings in include/linguistic/
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Iec1ca76e9b3a0896a732ab2b7fd34dd5a7f219fb
Reviewed-on: https://gerrit.libreoffice.org/68367
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-04 17:25:05 +01:00
Katarina Behrens
e8e274b506 tdf#120791: restore window geometry coming back from fullscreen
Change-Id: I1492423fe6110bdc79aa68c715e968770f6767ab
Reviewed-on: https://gerrit.libreoffice.org/68672
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-04 17:15:18 +01:00
Stephan Bergmann
d66dbe0f9d Rename SVBT16ToShort to SVBT16ToUInt16
For one, it that way matches reality (as it returns sal_uInt16, not short or
sal_Int16) and its SVBT32ToUInt32 counterpart.  For another, I plan a follow-up
commit of introducing an additional SVBT16ToInt16 to explicitly return
sal_Int16.

Change-Id: I28915e6593ccdca0c11d7b2fa593e96e359a9532
Reviewed-on: https://gerrit.libreoffice.org/68686
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-04 16:37:27 +01:00
Stephan Bergmann
d515aaa11c Fix some UITests to use copies of SRCDIR documents
...so that running those tests with a read-only SRCDIR succeeds.  (Needed to
move sc/qa/uitest/calc_tests/data/tdf76731.ods to fit the changes made to
sc/UITest_statistics.mk; all documents used by that test need to be at the same
place.)

Change-Id: I5c4a28539b9bacde3ca8983502ceed8e4688c787
Reviewed-on: https://gerrit.libreoffice.org/68683
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-04 16:00:17 +01:00
Adolfo Jayme Barrientos
b5f686d818 Update git submodules
* Update helpcontent2 from branch 'master'
  - Revert "Improve donation link in Help online"
    
    This reverts commit bd26e706b30dccecdeba24ba8b697ddf2fc7a615.
    
    Change-Id: Id45b4ef2bacae444be070a03fbc0e10a4992f85c
    Reviewed-on: https://gerrit.libreoffice.org/68699
    Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
    Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-03-04 15:46:21 +01:00
Olivier Hallot
7be0e9bca0 Update git submodules
* Update helpcontent2 from branch 'master'
  - tdf#123803 Add relelase info in Calc functions
    
    Patch is for REGEX function available since release 6.2
    
    To add release information to other functions look
    at the diff in func_regex.xhp and adjust the release. It
    should be straightforward:
    
    <embed href="text/scalc/00/avail_release.xhp#M.N"/>
    
    where M is version and N is release.
    
    Patch tweaked to minimize translation effort (only one string)
    
    Change-Id: I4f5f826c936e65c1050a4d3b71379b53d50e0984
    Reviewed-on: https://gerrit.libreoffice.org/68688
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2019-03-04 15:42:33 +01:00
Olivier Hallot
e60a681b30 Update git submodules
* Update helpcontent2 from branch 'master'
  - Some optimizing bits in XSLT
    
    Change-Id: I27c29677cbf9c704d64b5ed49acc56b7a22432bd
    Reviewed-on: https://gerrit.libreoffice.org/68646
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2019-03-04 15:42:18 +01:00
Olivier Hallot
71f3c14092 Update git submodules
* Update helpcontent2 from branch 'master'
  - Improve donation link in Help online
    
    redmine#2815
    
    Addressed responsiveness: for screen width < 960px the
    button goes to the bottom of the screen and the header is
    not fixed anymore.
    
    Artists are invited to improve button rendering.
    
    Button max width is 300px, the en-US text and the translated
    text should fit in 2 lines of 300px each. Text is centered.
    
    Change-Id: I51860be2ad998e85f247118e44b21af3e2efa060
    Reviewed-on: https://gerrit.libreoffice.org/68644
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2019-03-04 15:41:52 +01:00
Stephan Bergmann
cebc28ce2f Fix various clang-cl warnings
...in Windows-only code that has recently been brought back to life with
db8a2a567087cb65ca420bfd582ea2c8c24fcd7b "tdf#39625 make
sal/qa/systools/test_comtools.cxx work with CppUnit"

Change-Id: Ia93e84f5719c2320789aec5f711067f9174acb55
Reviewed-on: https://gerrit.libreoffice.org/68682
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-04 15:38:46 +01:00
Katarina Behrens
8643f6d64d tdf#120774: remove 7-year-old workaround of now non-existent bug
Fix of tdf#41996 is a workaround of kde4-specific condition and
has been since disabled on OS X (as tdf#51023). kde5 comes with
a new implementation of DnD and slide sorter in Impress now
exhibits exactly the same symptoms as on OS X in tdf#51023

Since kde4 is unsupported and remaining platforms (gtk[23], Win)
never had issues with DnD in slide sorter, kill the workaround
with fire (= disable it globally)

Change-Id: Ib9482dd5371ce73cdb86c3e5bbc5e46af65b9905
Reviewed-on: https://gerrit.libreoffice.org/68674
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-04 14:40:44 +01:00
Katarina Behrens
14dca9a219 Unbreak internal DnD by using null MimeData
Regression from 67b0fcea9d748c4dd8101036cbb2c587d65f0bf7 (which
implements external DnD). QMimeData of internal DnD is never null,
it always contains internal MimeType (but empty byte array)

Change-Id: Ie12e9c3b7a3c7cebfd98064bb2fafec27c20a442
Reviewed-on: https://gerrit.libreoffice.org/68673
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-04 14:39:48 +01:00
Mark Hung
d98d3e2a0b tdf#44223: Export the audio of effects and transitions.
This will allow to round trip the test case for the slide
transition and the animation effect audio.

Change-Id: Iac524e6bbcdb0a29491cfeba63121c845685fd11
Reviewed-on: https://gerrit.libreoffice.org/68540
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
2019-03-04 14:32:15 +01:00