Commit graph

498507 commits

Author SHA1 Message Date
Mike Kaganski
29f59dad0e Unlock the mutex to avoid deadlock
The request thread was calling OleComponent::CloseObject, which executed
on main thread; OleEmbeddedObject::m_aMutex as locked by request thread:

 emboleobj.dll!OleComponent::CloseObject() Line 1004
 emboleobj.dll!OleComponent::Dispose() Line 451
 emboleobj.dll!OleComponent::close(unsigned char bDeliverOwnership) Line 1513
 emboleobj.dll!OleEmbeddedObject::GetRidOfComponent() Line 235
 emboleobj.dll!OleEmbeddedObject::Dispose() Line 269
 emboleobj.dll!OleEmbeddedObject::close(unsigned char bDeliverOwnership) Line 498
 comphelper.dll!comphelper::EmbeddedObjectContainer::CloseEmbeddedObjects() Line 208
 sfxlo.dll!SfxObjectShell::~SfxObjectShell() Line 322
 swlo.dll!SwDocShell::~SwDocShell() Line 380
 swlo.dll!SwDocShell::`vector deleting destructor'(unsigned int)
 cppuhelper3MSC.dll!cppu::OWeakObject::release() Line 229
 sfxlo.dll!rtl::Reference<SfxObjectShell>::~Reference<SfxObjectShell>() Line 126
 sfxlo.dll!IMPL_SfxBaseModel_DataContainer::~IMPL_SfxBaseModel_DataContainer() Line 265
 sfxlo.dll!IMPL_SfxBaseModel_DataContainer::`scalar deleting destructor'(unsigned int)
 sfxlo.dll!std::_Destroy_in_place<IMPL_SfxBaseModel_DataContainer>(IMPL_SfxBaseModel_DataContainer & _Obj) Line 293
 sfxlo.dll!std::_Ref_count_obj2<IMPL_SfxBaseModel_DataContainer>::_Destroy() Line 2113
 sfxlo.dll!std::_Ref_count_base::_Decref() Line 1164
 sfxlo.dll!std::_Ptr_base<IMPL_SfxBaseModel_DataContainer>::_Decref() Line 1380
 sfxlo.dll!std::shared_ptr<IMPL_SfxBaseModel_DataContainer>::~shared_ptr<IMPL_SfxBaseModel_DataContainer>() Line 1685
 sfxlo.dll!std::shared_ptr<IMPL_SfxBaseModel_DataContainer>::reset() Line 1732
 sfxlo.dll!SfxBaseModel::dispose() Line 794
 swlo.dll!SwXTextDocument::dispose() Line 561
 sfxlo.dll!SfxBaseModel::close(unsigned char bDeliverOwnership) Line 1523
 swlo.dll!SwXTextDocument::close(unsigned char bDeliverOwnership) Line 574
 sfxlo.dll!SfxBaseModel::dispose() Line 745
 swlo.dll!SwXTextDocument::dispose() Line 561
 mscx_uno.dll!`anonymous namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, bridges::cpp_uno::shared::VtableSlot aVtableSlot, _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, _uno_Any * * ppUnoExc) Line 214
 mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 430
 binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny * returnValue, std::vector<binaryurp::BinaryAny,std::allocator<binaryurp::BinaryAny>> * outArguments) Line 239
 binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79
 binaryurplo.dll!request(void * pThreadSpecificData) Line 84
 cppu3.dll!cppu_threadpool::JobQueue::enter(const void * nDisposeId, bool bReturnWhenNoJob) Line 101
 cppu3.dll!cppu_threadpool::ORequestThread::run() Line 165
 cppu3.dll!threadFunc(void * param) Line 190
 sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67

Main thread was acquiring OleEmbeddedObject::m_aMutex, which deadlocked:

 sal3.dll!osl_acquireMutex(_oslMutexImpl * Mutex) Line 65
 emboleobj.dll!osl::Mutex::acquire() Line 63
 emboleobj.dll!osl::ResettableGuard<osl::Mutex>::reset() Line 250
 emboleobj.dll!OleEmbeddedObject::setVisualAreaSize(__int64 nAspect, const com::sun::awt::Size & aSize) Line 148
 swlo.dll!SwWrtShell::CalcAndSetScale(svt::EmbeddedObjectRef & xObj, const SwRect * pFlyPrtRect, const SwRect * pFlyFrameRect, const bool bNoTextFramePrtAreaChanged) Line 777
 swlo.dll!SwContentNotify::ImplDestroy() Line 926
 swlo.dll!SwContentNotify::~SwContentNotify() Line 1037
 swlo.dll!SwNoTextFrame::MakeAll(OutputDevice * pRenderContext) Line 584
 swlo.dll!SwFrame::OptPrepareMake() Line 412
 swlo.dll!SwFrame::OptCalc() Line 1110
 swlo.dll!SwLayAction::FormatContent_(const SwContentFrame * pContent, const SwPageFrame * pPage) Line 1960
 swlo.dll!SwLayAction::FormatFlyContent(const SwFlyFrame * pFly) Line 1985
 swlo.dll!SwObjectFormatter::FormatObj_(SwAnchoredObject & _rAnchoredObj) Line 312
 swlo.dll!SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject & _rAnchoredObj, const bool _bCheckForMovedFwd) Line 133
 swlo.dll!SwObjectFormatter::FormatObjsAtFrame_(SwTextFrame * _pMasterTextFrame) Line 414
 swlo.dll!SwObjectFormatterTextFrame::DoFormatObjs() Line 348
 swlo.dll!SwObjectFormatter::FormatObjsAtFrame(SwFrame & _rAnchorFrame, const SwPageFrame & _rPageFrame, SwLayAction * _pLayAction) Line 160
 swlo.dll!SwLayAction::FormatContent(SwPageFrame * pPage) Line 1793
 swlo.dll!SwLayAction::InternalAction(OutputDevice * pRenderContext) Line 605
 swlo.dll!SwLayAction::Action(OutputDevice * pRenderContext) Line 389
 swlo.dll!SwLayIdle::SwLayIdle(SwRootFrame * pRt, SwViewShellImp * pI) Line 2363
 swlo.dll!SwViewShell::LayoutIdle() Line 827
 swlo.dll!sw::DocumentTimerManager::DoIdleJobs(Timer * __formal) Line 176
 swlo.dll!sw::DocumentTimerManager::LinkStubDoIdleJobs(void * instance, Timer * data) Line 156
 vcllo.dll!Link<Timer *,void>::Call(Timer * data) Line 111
 vcllo.dll!Timer::Invoke() Line 75
 vcllo.dll!Scheduler::CallbackTaskScheduling() Line 509
 vcllo.dll!SalTimer::CallCallback() Line 53
 vclplug_winlo.dll!WinSalTimer::ImplHandleElapsedTimer() Line 169
 vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 525
 vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 581
 vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 385
 vcllo.dll!Application::Yield() Line 473
 vcllo.dll!Application::Execute() Line 361
 sofficeapp.dll!desktop::Desktop::Main() Line 1652
 vcllo.dll!ImplSVMain() Line 229
 vcllo.dll!SVMain() Line 262
 sofficeapp.dll!soffice_main() Line 110
 soffice.bin!sal_main() Line 51
 soffice.bin!main(int argc, char * * argv) Line 49
 soffice.bin!invoke_main() Line 79
 soffice.bin!__scrt_common_main_seh() Line 288
 soffice.bin!__scrt_common_main() Line 331
 soffice.bin!mainCRTStartup(void * __formal) Line 17

Change-Id: Iaf5133c488d4f26f43530ea19584e99cce12d81e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171855
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-14 14:44:14 +02:00
Michael Weghorn
754a8591f4 qt: Remove "5" from render backend name
The previously named "qtsvp5" and "qt5" render backends
are used for both, qt5 and qt6 since the qt6 VCL plugin
exists, so drop "5" from the name.

Change-Id: Ia97eb14d9229bf33d40a6a383d7656f9467ad460
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171854
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-08-14 14:01:03 +02:00
Julien Nabet
53730cc3b0 Related tdf#135561: read ase palette with Lab colormodel
I took example on colorConversions.js from avisek, see
https://gist.github.com/avisek/eadfbe7a7a169b1001a2d3affc21052e

2 steps: convert Lab to XYZ, then XYZ to RGB

credit Avisek Das and István Ujj-Mészáros

Change-Id: I3a80259b6de1aca7fe3c308d9024e9b9f2a5a425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171729
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2024-08-14 13:38:30 +02:00
Justin Luth
893f055c75 tdf#146769 menuBarManager: dispatch with KeyModifier Shift/Ctrl/Alt
If any of the modifier keys are held down while a menu item is selected,
dispatch the modifier keys along with the command.

There is not anything using this yet,
but (in an abandoned patch)
I wanted to let the "Quit" command know if KEY_SHIFT is pressed,
so I can imagine this ability could be very handy elsewhere.

The infrastructure is all there behind the scenes,
just this piece needed to be plugged in.

So instead of abandoning it completely,
let me put this piece in place so it is ready
for the next guy who could use it.

Change-Id: Iff45928872f8958bdb694771cae8dfb347c646ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171843
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
2024-08-14 13:34:44 +02:00
Justin Luth
a104332a59 tdf#162458 doc export: don't change "margin" to "page"
I'm a little baffled at this code.
The only thing I can imagine is that at some earlier time
it converted TOP of PAGE_PRINT_AREA to FROM_TOP of PAGE.
That at least was true of my example document in LO5.3,
and I see similar things happening for horizontal.

For vertical, in the case of FollowTextFlow,
this is exactly backwards anyway,
because MSO implements PAGE_FRAME as if it were PAGE_PRINT_AREA,
which is the exact opposite of what we are doing here...
For horizontal FTF, there doesn't need to be any adjustment.
(see tdf#160077)

DOC format knows about all 4 valid vertical positions
(TOP/CENTER/BOTTOM/FROM_TOP),
and all 4 valid horizontal positions (LEFT/CENTER/RIGHT/FROM_LEFT)
and DOC format also knows about both hori and vert PAGE_PRINT_AREA,
so there is no need to do any adjustment for "margin".

For PAGE_FRAME it is irrelevant because that is what it sets anyway,
so there is literally no change in that case.

make CppunitTest_sw_ww8export CPPUNIT_TEST_NAME=testBnc787942
make CppunitTest_sw_ww8export \
    CPPUNIT_TEST_NAME=testTextVerticalAdjustment

Change-Id: I201966f00909d4a6e7fcd873582096da259c776d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171842
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
2024-08-14 13:33:44 +02:00
RMZeroFour
641d082c44 .NET Bindings: Fix netmaker and net_basetypes
This commit makes a few misc. fixes to netmaker and net_basetypes
- Renamed css.uno.Exception to css.uno.UnoException to avoid name
  conflicts with System.Exception
- Added a new css.uno.Any constructor and setValue function that
  deduces the type of the any from given object at runtime
- Changed the AnyTests unit tests to match changes made to css.uno.Any
- Removed the in keyword from UNO 'in' parameters. Was a premature
  optimisation that might have a negative effect for certain types.
- Generated struct and exception field members were not marked public
  earlier by accident, fixed.
- Generted struct and exception constructors had parameters in order
  opposite to expected, fixed.
- Generated services tried to instantiate the interface, not the
  service earlier, fixed.

Change-Id: Ia63f9db469db13a5d01617617095b8f568b39c72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171706
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-08-14 13:14:01 +02:00
Noel Grandin
14b7b50701 use less exception throwing for flow control
Change-Id: I289f1a2204af02576a585392b7f428a5dc65cf1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171850
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-08-14 12:56:50 +02:00
Noel Grandin
efe65eaaac GetMarkStart/GetMarkEnd is hot
when importing docs with lots of fieldmarks.
But once we have computed the one, computing the other is essentially
free, so instead of doing the computation twice, return both values when
we need both

Change-Id: Icdd9d4ed4cf1e6c9b26fdb20507c4f964f9e9f90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171853
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-08-14 12:56:30 +02:00
Justin Luth
a4418c907f tdf#162211 tdf#137590 layoutInCell: vertical escaping with wrapThrough
This patch allows shapes to go "from top" above the cell frame.
(This was already working horizontally,
and for positive, downward values).

In theory, this should not be needed for ODT layout.
ODT UI shouldn't allow cell-escaping values to be used.

It does not currently affect FRAME/FRAME _shapes_
because those forcefully turn off layoutInCell,
but it does affect FRAME/FRAME _images_
whose code path does not forcefully turn off layoutInCell.

There are a few more places in the code
where AdjustVertRelPos() is called,
but most had no matching unit tests.
I assume it is probably because we already don't CheckBottom.

The following unit tests are affected by this patch
PAGE/PAGE
-tdf81345.docx (81345_045Original) [big green gradient - fixed]
-tdf115883.docx [compat15 - miniscule .03cm offset]

image - FRAME/FRAME
-tdf135595_HFtableWrap_c12.docx [after round-trip - fixed]
-tdf135595_HFtableWrap.odt [footer logo moves up - fixed]
-layout-in-cell-2.docx [extremely minor offsets]

make CppunitTest_sw_ooxmlexport14 \
    CPPUNIT_TEST_NAME=testTdf135595_HFtableWrap

These will be affected if layoutInCell is not forced off.
shape - FRAME/FRAME
-fdo68607.docx
-test_segfault_while_save.docx [even zOrder is fixed somehow]
-layout-in-cell-wrapnone-column.docx

Change-Id: I13b030a2e7117557dd9794c0eb9bd74a0d67b82f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171436
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-by: Justin Luth <jluth@mail.com>
2024-08-14 11:22:21 +02:00
AhmedHamed
b8593ef96d tdf#162069 Initial focus is in the document when creating a new sheet
Change-Id: Iabd5401397bbdd5b45275da06235d879ce4ac984
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171709
Tested-by: Jenkins
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-08-14 11:20:27 +02:00
Miklos Vajna
a22fe103e7 Related: cool#9735 vcl lok: add an AnyInput() callback
Open the 300 pages bugdoc, paste a oneliner plain text content in a
paragraph which is part of a numbered list, observe a 274 ms hang till
layout is done for all pages, then we get an updated tile. This could be
better, there is no such hang in the desktop case.

What happens is that 1) vcl doesn't try to invoke the poll callback of
the LOK client when there was a processed timer and 2) Writer layout
doesn't try to split its work into pieces because the LOK client has no
way to inform vcl that it has pending input events.

Fix the first problem in this commit: add a new API that allows a LOK
client to inform vcl that it has pending input events and use that
SvpSalInstance::ImplYield(): if a LOK client has pending input events,
then invoke the poll callback after each processed timer. For example,
this allows the LOK client to process emitted callbacks between two idle
layout jobs, word counting, etc.

The second problem around Writer to use
comphelper::LibreOfficeKit::anyInput() is not yet fixed.

Change-Id: I2e39253bfc4d1b5546bc60eef9ff05ccdc0868b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171846
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-08-14 11:17:33 +02:00
Caolán McNamara
d27a88f4fe dubious to enable/disable help button based on IsContextHelpEnabled
in just the SingleTabController, which is a specific subset of all
dialogs, the case of a dialog that hosts a page typically seen in a
multi-table dialog. Why should such a dialog have no help, while
its sibling containing the same page alongside others would have help,
or vice-versa.

Change-Id: I3f54c0088e30a396e83e990510ebe7f1f3bc7bda
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171848
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-14 11:04:51 +02:00
Hubert Figuière
67c0fe349a cool#9699 - Don't show Help button when there is no help
The SfxSingleTabDialogController was explictely showing the Help button even
if it was previously hidden by the VclBuilder due to lack of Help URL in
Collabora Online

This was the case in the spelling option dialog.
See https://github.com/CollaboraOnline/online/issues/9699

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I4454f3d1f0c097faeebf912c3282335fed67ec84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171697
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171847
Tested-by: Jenkins
2024-08-14 11:04:40 +02:00
Hubert Figuière
e4eb676691 LOKit: enable the Distribute command
Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: Id26ac3cd02198bbd3d4dcf0539cbc372a5e08c72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171830
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit d7349b9ac4d56adfaf9bbd7c8dac84152bd230fe)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171772
Tested-by: Jenkins
2024-08-14 10:58:11 +02:00
Noel Grandin
4a42fe0016 tdf#158556 bypass some logic for toggle properties
hardcode a direct route through most of the logic in SwXStyle.
Shaves 20% off the load time.

Change-Id: I52ae8b4e870e07893195ce2eaedcf9069dbcae8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171815
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-14 10:52:00 +02:00
Armin Le Grand (Collabora)
4a0cd89904 CairoSDPR: Handle EmphasisMarks
Handling EmphasisMarks for direct text rendering
was a hard task - the EmphasisMark stuff is deeply
buried in vcl (would have needed to move quite some
includes from vcl to public) and thus hard to use.
It is also quite old (tools Polygon, Rectangle).

It was missing in the decomposition of the
TextDecoratedPortionPrimitive2D (for good reason),
but is needed now.

I found a way using a callback lambda function to
create the needed geometry in vcl and hand back the
needed data to the caller, in this case to the
decomposition. Adding it to the decomposition of
TextDecoratedPortionPrimitive2D also guarantees
that other renderers/usages will do the correct
thing and all will look identical.

Interestingly EmphasisMarks were never added to
Metafiles (see OutputDevice::ImplDrawEmphasisMarks)
so they were not 'missing' in Metafile-based
exports. But for SDPRs they have to work. I added
another encapsulating TextHierarchyPrimitive to
encapsulate primitives that do represent
EmphasisMarks and added to ignore these in the
VclMetafileProcessor2D (as needed).

Change-Id: I5b5c1528d86a123df2beb57d8366f05aa71e77cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171826
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-08-14 10:48:51 +02:00
Michael Stahl
cf23025faa package: clarify comment
Change-Id: Id1a262dee4bd182c0aa3f938efb3808e3182602d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171834
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-08-14 10:46:40 +02:00
Miklos Vajna
b8374587db svx: prefix members of SdrUndoSetPageNum
See tdf#94879 for motivation.

Change-Id: I4231a19a562ede125f0f1819cbb224935a20c801
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171844
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2024-08-14 10:05:50 +02:00
Caolán McNamara
437412d79b cid#1557980 COPY_INSTEAD_OF_MOVE
and

cid#1557869 COPY_INSTEAD_OF_MOVE
cid#1557807 COPY_INSTEAD_OF_MOVE
cid#1557804 COPY_INSTEAD_OF_MOVE
cid#1557799 COPY_INSTEAD_OF_MOVE
cid#1557781 COPY_INSTEAD_OF_MOVE
cid#1557781 COPY_INSTEAD_OF_MOVE
cid#1557766 COPY_INSTEAD_OF_MOVE
cid#1557746 COPY_INSTEAD_OF_MOVE
cid#1557737 COPY_INSTEAD_OF_MOVE

Change-Id: I1866c576f525ea697c62e9e0a96890e5fdaa780f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171795
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-14 09:27:19 +02:00
Heiko Tietze
aabb5be81a Resolves tdf#80054 - Customization for non-printable character color
Change-Id: I82783a49d3a1c2096dcfa7c97a3fce14c555c988
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171814
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-08-14 09:24:29 +02:00
HakimOttey
6aa87b23c4 Related: tdf#42982 replace IllegalTypeException with RuntimeException
Change-Id: Ibe6004e43a7553c6694d7938603023a9f95535a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170035
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
2024-08-14 07:53:49 +02:00
Ilmari Lauhakangas
f8c9e602a1 solenv/bin/uiex: more helpful error message for context issues
Change-Id: I82b092a18b2fa2bacef7a27ad4e79350b42bc1d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171711
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-08-14 07:51:07 +02:00
Stephan Bergmann
0f186fb79d UBSan SAL_USE_VCLPLUGIN=qt5 needs SvpGraphicsBackend RTTI
...as it leaks out of Library_vcl into Library_vcplug_qt5 via
GenPspGraphics::m_pBackend in vcl/inc/unx/genpspgraphics.h, included from
vcl/qt5/QtInstance_Print.cxx

Change-Id: Id89217f1eef346b70a7f9269c2dc76e28b78ca69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171835
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-08-14 07:40:58 +02:00
Vladislav Tarakanov
134fb4747a tdf#158510 Added fallback for media files in MediaWindowImpl
When launching media from Properties -> Media Playback,
no sound is currently playing. This is due to the fact that
there is no fallback URL defined for MediaWindowImpl.

To fix this problem, new methods have been added for
setting and getting the fallback URL, passing the path to
the presentation folder from "unoshap4.cxx" to
"mediawindow_imp.cxx".

Because the setURL method starts the media immediately,
calls to "setFallbackURL" method must be made BEFORE
calling "setURL".

Change-Id: I3054c90c648c5839a2eb3fc463eaefbf97500c05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170644
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-14 00:19:23 +02:00
Olivier Hallot
935afa6d82 Update git submodules
* Update helpcontent2 from branch 'master'
  to 44301eb01fd63f299d8e9d982a4dc31b6ab04a91
  - tdf#102265 - Impress Format menu update
    
    Change-Id: I5c8725b3ebee70e05b82c86bdfc1a180075034d6
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/171839
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-08-13 23:15:30 +02:00
Noel Grandin
0ad257a6f3 use more concrete UNO type in writerfilter
Change-Id: I9c4a71b1a32bf42ea54ca9f108ee22d4eabc205c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171470
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13 22:10:38 +02:00
Caolán McNamara
e0e49a0ab0 cid#1557699 COPY_INSTEAD_OF_MOVE
and

cid#1557696 COPY_INSTEAD_OF_MOVE
cid#1557695 COPY_INSTEAD_OF_MOVE
cid#1557690 COPY_INSTEAD_OF_MOVE
cid#1557671 COPY_INSTEAD_OF_MOVE
cid#1557661 COPY_INSTEAD_OF_MOVE
cid#1557626 COPY_INSTEAD_OF_MOVE
cid#1557624 COPY_INSTEAD_OF_MOVE
cid#1557622 COPY_INSTEAD_OF_MOVE
cid#1557618 COPY_INSTEAD_OF_MOVE
cid#1557617 COPY_INSTEAD_OF_MOVE
cid#1557607 COPY_INSTEAD_OF_MOVE
cid#1557559 COPY_INSTEAD_OF_MOVE
cid#1557538 COPY_INSTEAD_OF_MOVE

Change-Id: I8bcd61f21e6b5284d641ff8c6bd09008c2458baf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171837
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-13 21:53:15 +02:00
Michael Weghorn
ef1eedc76b vcl a11y: Report "top-level"'s frame again
If a top-level windows has a border window that's
a frame as parent, report that again as the a11y parent,
which was no longer the case after

    commit 97d3baf3f9
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Fri Aug 9 15:59:28 2024 +0200

        vcl a11y: Don't report parent window for top-levels

Other than the "Save document?" case described in
the commit message of that commit, where the dialog
parent is actually a completely different window
(the LO Writer main window), the "top-level" window's
frame actually contains the top-level (i.e. they do belong
to the same window on the platform level), and the frame
does report the top level as an accessible child, so
it's consistent to report the parent the other way
around, too.

This e.g. makes Accerciser's "Inspect under mouse" feature
work again on Wayland with Accerciser's "kwin" backend
for e.g. the "Format" -> "Paragraph" dialog in Writer,
while still working for the "Save Document?" dialog case
the above-mentioned commit addressed.

It still seems a little odd that the "Paragraph" object
in the a11y tree with "dialogue" role still has a parent
of the same name with a "frame" role when using the qt6
VCL plugin, as can be seen in Accerciser.
(The "dialogue" AT-SPI role is meant to be an actual
top-level with no additional parents, and that's the
way it actually is for the same dialog when using the
gtk3 VCL plugin using native GTK widgets.)

That's a different story, however. For now,
report the parent again to have a consistent a11y
hierarchy.

Change-Id: I07cf287aaf3effbcda0bb4982aafb0fa4bf4f22f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171825
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13 21:31:24 +02:00
Noel Grandin
e101a7a521 Fix SectionPropertyMap::ApplyProperties_
after
    commit 1e8ace631f
    Author: Noel Grandin <noelgrandin@gmail.com>
    Date:   Fri Aug 9 12:38:54 2024 +0200
    use more concrete UNO type in writerfilter
where I forgot to remove unnecessary logic, so we ended up setting the
properties twice

Change-Id: Ie1e5aae3ff199c3bec4bf95b0d660461552acb60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171827
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-08-13 20:07:20 +02:00
Noel Grandin
ade52eb721 use less exception throwing for flow control
Change-Id: I7ad023479229f89918e588eb8dc7431b5830b45d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171813
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13 19:36:37 +02:00
Michael Weghorn
cd72aca086 tdf#130857 VclBuilder: Move handleAtkObject to base class
Change-Id: I0f29b53b58f2d65d3409f6416406ba21c2411b98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171821
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13 19:31:22 +02:00
Michael Weghorn
612d20103f tdf#130857 VclBuilder: Move handleItems to base class
Let the base class do the parsing for items and return
a `ComboBoxTextItem`. It has nothing `vcl::Window` specific.

(`vcl::Window` specific part is only when this gets applied
in `insertItems`, which could probably be reimplemented
differently for other subclasses).

Change-Id: Ica2f435b48c69fbdfff450b713d91a6fbe985de6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171820
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13 19:31:15 +02:00
Michael Weghorn
2833ba26c8 tdf#130857 VclBuilder: Move size group parsing to base class
Move the parsing of size groups from `VclBuilder` to
the base class, `BuilderBase` and add a getter,
`BuilderBase::getSizeGroups` that currently gets
used from `VclBuilder`.

Since the parsing is not specific to vcl::Window,
make it possible to reuse it from other subclasses.
It could e.g. be useful for the WIP
QtInstanceBuilder from Omkar's WIP change [1].

[1] https://gerrit.libreoffice.org/c/core/+/161831

Change-Id: I0c44bfda1d5c850679695ab6bd436e4e487df9c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171819
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-08-13 19:31:08 +02:00
Michael Weghorn
e19683d65a tdf#130857 VclBuilder: Move list store handling to base class
This has has nothing vcl::Window specific, so make it reusable
by other subclasses, like the WIP QtInstanceBuilder from
Omkar's WIP change [1].

[1] https://gerrit.libreoffice.org/c/core/+/161831

Change-Id: I8ef00b9534c8f9d6bf756371133401ac06c05168
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171818
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13 19:31:02 +02:00
Noel Grandin
cfd94adadb tdf#158556 flatten SwStyleBase_Impl a little
less pointer chasing

Change-Id: I117880dcfaef730f1d19b6b3b4b1f5d8188e0c1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171817
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13 18:27:16 +02:00
Noel Grandin
4f222adca8 tdf#158556 avoid unnecessary work
in SwXStyle::PrepareStyleBase, which is called multiple times during
getProperties(), but we only need to do the GetStyleSheetBase() the
first time

Change-Id: I18438f11402588e5172f6b1638769fc9ba0b1784
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171816
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13 18:27:03 +02:00
Pierre F
a3111d394d Update git submodules
* Update helpcontent2 from branch 'master'
  to e0f5a2be15540e180ce9c1873276d185c0ba52fc
  - document word count tooltip in navigator (implemented in 7.0 tdf#63967)
    
    Change-Id: I6136dc2097605159aef537d585f037a46b51cfab
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/171771
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-08-13 18:18:48 +02:00
Mike Kaganski
97fa167baa Handle possible exceptions in SwView::ImpSetVerb
This reportedly may crash on unhandled exception, with the following stack:

 KernelBase.dll!00007ffaa227fabc()
 [External Code]
 emboleobj.dll!OleComponent::GetVerbList() Line 1013
 	at D:\lo\embeddedobj\source\msole\olecomponent.cxx(1013)
 emboleobj.dll!OleEmbeddedObject::getSupportedVerbs() Line 1000
 	at D:\lo\embeddedobj\source\msole\oleembed.cxx(1000)
 swlo.dll!SwView::ImpSetVerb(SelectionType nSelType) Line 162
 	at D:\lo\sw\source\uibase\uiview\view.cxx(162)
 swlo.dll!SwView::SelectShell() Line 309
 	at D:\lo\sw\source\uibase\uiview\view.cxx(309)
 swlo.dll!SwView::AttrChangedNotify(LinkParamNone * __formal) Line 574
 	at D:\lo\sw\source\uibase\uiview\view.cxx(574)
 [Inline Frame] swlo.dll!Link<LinkParamNone *,void>::Call(LinkParamNone *) Line 111
 	at D:\lo\include\tools\link.hxx(111)
 swlo.dll!SwCursorShell::CallChgLnk() Line 2903
 	at D:\lo\sw\source\core\crsr\crsrsh.cxx(2903)
 swlo.dll!SwRootFrame::EndAllAction() Line 1941
 	at D:\lo\sw\source\core\layout\pagechg.cxx(1941)
 swlo.dll!UnoActionContext::~UnoActionContext() Line 212
 	at D:\lo\sw\source\core\unocore\unoobj2.cxx(212)
 swlo.dll!SwXFrame::setPropertyValue(const rtl::OUString & rPropertyName, const com::sun::uno::Any & _rValue) Line 1605
 	at D:\lo\sw\source\core\unocore\unoframe.cxx(1605)
 mscx_uno.dll!`anonymous namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, bridges::cpp_uno::shared::VtableSlot aVtableSlot, _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, _uno_Any * * ppUnoExc) Line 214
 	at D:\lo\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(214)
 mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 430
 	at D:\lo\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(430)
 binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny * returnValue, std::vector<binaryurp::BinaryAny,std::allocator<binaryurp::BinaryAny> > * outArguments) Line 239
 	at D:\lo\binaryurp\source\incomingrequest.cxx(239)
 binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79
 	at D:\lo\binaryurp\source\incomingrequest.cxx(79)
 binaryurplo.dll!request(void * pThreadSpecificData) Line 84
 	at D:\lo\binaryurp\source\reader.cxx(84)
 cppu3.dll!cppu_threadpool::JobQueue::enter(const void * nDisposeId, bool bReturnWhenNoJob) Line 101
 	at D:\lo\cppu\source\threadpool\jobqueue.cxx(101)
 cppu3.dll!cppu_threadpool::ORequestThread::run() Line 169
 	at D:\lo\cppu\source\threadpool\thread.cxx(169)
 cppu3.dll!threadFunc(void * param) Line 190
 	at D:\lo\include\osl\thread.hxx(190)
 sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67
 	at D:\lo\sal\osl\w32\thread.cxx(67)

Change-Id: Ifef15938c7986c4179d61cfa07973ad9b13d4ad4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171823
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-13 17:26:50 +02:00
Caolán McNamara
2c2097a826 fix null deref on fetching postit outliner
Change-Id: I950c2c2e68090ad002401d3ff038dcd3d18e7da2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171822
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-08-13 16:52:40 +02:00
Pranam Lashkari
8f591839b9 Resolves: tdf#157851 sc comments loaded incorrectly in xlsx
problem:
1. when loading xlsx files, comments in that format does not store date,
there for libreoffice loaded comments with current date and time.

2. Author names were not loaded at all in xlsx, and by default
name of user was used as author instead

Change-Id: I7b1f7fcda01565a6ba131fbae72e7d86e5eaaf15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171805
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171809
Tested-by: Jenkins
2024-08-13 15:41:13 +02:00
Mike Kaganski
65f311e225 Move RTF control word data to where it's used, and make it constexpr
Change-Id: I188207b03dbe45cd353fcb751c90b6f9a1713133
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171807
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-13 14:42:54 +02:00
Olivier Hallot
8d47de1bd2 Update git submodules
* Update helpcontent2 from branch 'master'
  to f06edc4d07ae6db146347d412e0b975d209271d0
  - Document python comparison operators for UNO objects
    
    Referenced from
    
    https://gerrit.libreoffice.org/c/help/+/65828/2/source/text/sbasic/python/python_programming.xhp#241
    
    Change-Id: I2d28a2d1f432656258fade03a9af0b3ffab119f7
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/171804
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
    Tested-by: Jenkins
2024-08-13 14:05:12 +02:00
Dione Maddern
5535804563 tdf#113803 Add Extended Tips for Page Sidebar Deck
Add accessible names and accessible descriptions to:
- sw/uiconfig/swriter/ui/pagefooterpanel.ui
- sw/uiconfig/swriter/ui/pageformatpanel.ui
- sw/uiconfig/swriter/ui/pageheaderpanel.ui
- sw/uiconfig/swriter/ui/pagestylespanel.ui

In sw/uiconfig/swriter/ui/pagefooterpanel.ui
- Moved footertoggle to its own row and changed the label to "Enable
Footer" to make it clear that it does not affect the "Margins" dropdown.
- Added a new label for the "Margins" dropdown.

In sw/uiconfig/swriter/ui/pageheaderpanel.ui
- Moved headertoggle to its own row and changed the label to "Enable
Footer" to make it clear that it does not affect the "Margins" dropdown.
- Added a new label for the "Margins" dropdown.

Change-Id: I7880a249b534188ea4d981669bdfc969cacd5a5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171430
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Tested-by: Jenkins
2024-08-13 13:33:30 +02:00
Stephan Bergmann
509aa9e705 UBSan CppunitTest_sw_writerfilter_misc needs the SwXTableRows now
...presumably since 883febd605 "use more concrete
UNO type in writerfilter",

> DynamicLibraryManagerException: "Failed to load dynamic library: /home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/LinkTarget/CppunitTest/libtest_sw_writerfilter_misc.so
> /home/tdf/lode/jenkins/workspace/lo_ubsan/instdir/program/libsw_writerfilterlo.so: undefined symbol: _ZTI12SwXTableRows"

(<https://ci.libreoffice.org//job/lo_ubsan/3273/>)

Change-Id: I856ff7e2d7f31c83ad75b301caf4f8084f3e19a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171806
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-08-13 13:25:51 +02:00
Olivier Hallot
c91ae1ec1a Update git submodules
* Update dictionaries from branch 'master'
  to 0fbb94c57efcb6b30b88a6e181de54651e395e7c
  - Remove "por cada" cacophony in pt-BR grammar check
    
    ref: https://community.documentfoundation.org/t/sugestao-de-gramatica-da-expressao-por-cada/12257
    Change-Id: I3dcd554c29d13e9454ea9556fe469284ff8722a0
    Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/171802
    Tested-by: Olivier Hallot <olivier.hallot@libreoffice.org>
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-08-13 12:44:46 +02:00
Andrea Gelmini
516e9c7909 Fix typo
Change-Id: I0495b414fb542b92bdf0e2cde7fe1a010ab315f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171803
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2024-08-13 11:34:41 +02:00
Heiko Tietze
afea67b1d3 Resolves tdf#162435 - TC author colors inherit anchor colors
Fix to regression from I773793de8cfbdc0d23124db790604b93030375c2

* base color is now anchor, light/dark calculated as luminance
* default colors adjusted respectively

Change-Id: I9872a959d51714c736cd2adb216d76a0846aeec6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171753
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
2024-08-13 11:31:54 +02:00
Noel Grandin
4b833e6b12 use less exception throwing for flow control
Change-Id: Ib125a5ab01891d4195544e489596c10e16fba3ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171808
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-08-13 10:20:56 +02:00
Noel Grandin
00b3d2aa9a use more concrete UNO type in writerfilter
Change-Id: Id21630fb997c11574b76f5c22de1a2a31d099d4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171801
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13 08:38:27 +02:00
Michael Weghorn
798df0ff16 tdf#130857 VclBuilder: Move collectProperty to base class
With the translation/localization moved to the base class
in

    Change-Id: I2cefddae0a7e2e2dd4487cc9b9796afb215e2616
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Mon Aug 12 12:52:16 2024 +0200

        tdf#130857 VclBuilder: Move locale handling to base class

, `VclBuilder::collectProperty` can now be moved there
for reuse as well.

Change-Id: I159aac8b59dd429b3c7d991c0d2546ae6739bcca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171790
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13 07:26:10 +02:00