Commit graph

491325 commits

Author SHA1 Message Date
Balazs Varga
05f60be48a tdf#158245 - UI: Part 46 - Unify lockdown behavior of Options dialog
for Draw - Print Page.

Change-Id: I9c5004253b0b871a14fe92475339cdad598491a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160027
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-11-29 11:00:41 +01:00
Caolán McNamara
6096a4913d cid#1554876 Use of auto that causes a copy
Change-Id: I8218a4371f0b002d8ef4d544bf9227db6684915f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160012
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-29 10:37:53 +01:00
László Németh
78872cc81b tdf#157768 sw: fix lost character background of NBSP
Regression from commit 28675af84a
"tdf#41652: Variable width NBSP".

Change-Id: I066ecadac8961b182f8580147b197f13dd0daae4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160054
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2023-11-29 10:16:28 +01:00
Miklos Vajna
ce2fc5eb29 tdf#158341 sw floattable: fix layout loop when fly is below the body frame
Regression from commit 25b8fdd3b9 (sw
floattable: maintain the invariant that fly height is at least MINFLY,
2023-09-28), the document started to layout-loop on load.

What happens is we have a fly frame where the bottom of the body frame
is above both the top and bottom of the fly. We used to make sure these
flys don't "flip" (with a negative height) and ensure that their height
is still MINFLY. But that causes a new problem, because the layout will
try to make sure they fit, but they can't have enough space.

Fix the problem by improving the correction of the fly height, so in
case even the top is below the deadline, then we set the height to 0 and
explicitly mark the frame as clipped. That keeps the unwanted warnings
about violated invariants fixed and fixes the layout loop.

The test just ensures that all pages but the last one has a single
multi-page floating table, chained over several pages.

Change-Id: Ibac0a465839a59abe5ae49809c0d76c955aa39b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160061
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2023-11-29 09:57:41 +01:00
Balazs Varga
2bf8231ab5 tdf#158244 - UI: Part 45 - Unify lockdown behavior of Options dialog
for Draw - Grid Page.

Use the right grid settings associated with the application.
follow-up of fbecf8009a

Change-Id: I30b3c7ad80348a9cc89b6ea206a8ad9387276593
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160020
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-11-29 09:45:57 +01:00
Balazs Varga
34d3f383b6 tdf#158243 - UI: Part 44 - Unify lockdown behavior of Options dialog
for Draw - View Page.

Change-Id: If06945482e5a441903d6eb44b66242bd8806bcd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159995
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-11-29 09:45:40 +01:00
Caolán McNamara
2b62b4021f cid#1555536 Use of auto that causes a copy
Change-Id: Iae373b1aa5c25732b0e459778e4e85a3e96f138c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160013
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-29 09:38:00 +01:00
Caolán McNamara
66452607f5 cid#1554867 silence Out-of-bounds access
Change-Id: I11acf38f1243e1eea180b478055f12839c58f551
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160015
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-29 09:37:46 +01:00
Caolán McNamara
bbbb509c3e cid#1557589 Use of auto that causes a copy
Change-Id: Ie2c790420ce5fe2e2804f33ff552c2252dc0cc0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160014
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-29 09:37:36 +01:00
Noel Grandin
da6547ff87 remove fallback code
we have had this assert for long enough now to flush out any problems.

Change-Id: Ib732ca8d9156feb3c5d071cdbd44ea97875f6d9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160060
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-29 09:31:16 +01:00
Kevin Suo
22d8f33919 tdf#152583: Add [1],[2],[3] numbering style for zh-CN locale
This adds the [1],[2],[3] style of numbering to the Simplified
Chinese locale data. This will show up when one clicks the
numbering toolbar icon.

Change-Id: I8b54746b431384e682f4161a3e99211b4147bad1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160059
Tested-by: Jenkins
Reviewed-by: Kevin Suo <suokunlong@126.com>
2023-11-29 08:21:45 +01:00
Miklos Vajna
7f85266b39 CppunitTest_sw_ooxmlexport16: rework to avoid preTest()
This keeps all code of a test in a single place, if we don't trigger the
preTest() magic.

Change-Id: Ib97bf07cde6e235d9f9705cbff2f163fbc6d72b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160055
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-11-29 08:18:29 +01:00
Jim Raykowski
7a555725da SwNavigator: Rework the SwContentTree Expand function
in effort to improve readability and operation.

Change-Id: I7bfe485e24ee4cda3a3d99c522177950ad9ad399
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159887
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-11-29 07:59:38 +01:00
Jim Raykowski
8f2c10f051 SwNavigator: Allow Sections, Indexes, and Headings tracking
when in a table and Table tracking is off

Change-Id: I0f5d069b80948aada9fee1338c29fc7809ffbe45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160056
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-11-29 07:03:54 +01:00
Mike Kaganski
1f2d30093c Don't emit 'br clear=...' for graphics wrap in ReqIF export
Change-Id: I7684c78c9b98fe63c2281bf3b2a2186d125e0ba4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159994
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-29 06:46:33 +01:00
Mike Kaganski
92e7f28f9a Related: tdf#104718 Use package repair request and behavior
Same as in other places handling that:
* SfxBaseModel::load (sfx2/source/doc/sfxbasemodel.cxx);
* StorageFilterDetect::detect (filter/source/storagefilterdetect/filterdetect.cxx);
* TypeDetection::impl_detectTypeFlatAndDeep (filter/source/config/cache/typedetection.cxx)

In these cases, the same handler is used (RequestPackageReparation);
when the user approves an attempt to repair the package, the media
descriptor gets "RepairPackage" property set to true (this produces
a "(repaired document)" appended to the document title); also, the
document is opened in template mode (so saving it doesn't simply
overwrite the original broken document, but asks for a new name).

Re-using this logic, and checking if the "RepairPackage" is already
set, allows to unify the behavior, and to avoid duplicate warnings
when the user already approved repair of a broken package.

The request won't contain the details of the XML problem; but it
will be shown if rejected anyway, so OK for the diagnostics.

Change-Id: Ic997f89272212227479d14236f5e7788298a904a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160001
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-29 06:23:33 +01:00
Jim Raykowski
01a02ee7f1 tdf#157681 SwNavigator: Add Protect and Hide menu items to Sections
context menu

Change-Id: I6a79c06abe2cf4dd44d491046d8ee73d35dfe6ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159718
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-11-29 04:24:57 +01:00
László Németh
20cbe88ce5 tdf#119908 tdf#158419 sw smart justify: fix cursor position
Text cursor didn't follow the new word positions yet, because
of unsigned casting of the negative shrinking value.

Revert the temporary change of GetLLSpaceAdd() added by
commit 17eaebee27
"tdf#119908 sw smart justify: fix justification by shrinking".

Follow-up to commit 53de98b295
"tdf#158333 sw smart justify: fix multiple text portions".

Change-Id: I82cb395fc5af800d8da67d27c16c5ed6837df695
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160050
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2023-11-29 00:16:08 +01:00
Caolán McNamara
be77cae912 cid#1555974 silence Unchecked return value
Change-Id: Id4d208013d9e25b6c14387963144f38fdcd992f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160016
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-28 22:29:38 +01:00
Mike Kaganski
c36cba38cc Prevent attempts to create UCB content from .component URIs
After commit 86c682273d (tdf#96401:
allow to detect a broken ZIP package, 2023-11-26) impl_openStream
is called from TypeDetection::impl_detectTypeFlatAndDeep for URIs
like ".component:Bibliography/View1". For some reasons, sometimes
GIO UCP tries to handle these URIs; failing that, it shows an
error message.

This started to fail UITest_writer_tests4 (specifically, test for
tdf92611), like this:

  Thread 1 (Thread 0x7f51cd99b1c0 (LWP 1424555) "soffice.bin"):
  #10 std::condition_variable::wait_for<long int, std::ratio<1, 1000>, SvpSalInstance::ImplYield(bool, bool)::<lambda()> > (__rtime=<optimized out>, __p=..., __lock=..., this=0x13d78e0) at ~/gcc/inst/include/c++/14.0.0/condition_variable:177
  #11 SvpSalInstance::ImplYield(bool, bool) (this=this@entry=0x13d7690, bWait=bWait@entry=true, bHandleAllCurrentEvents=bHandleAllCurrentEvents@entry=false) at vcl/headless/svpinst.cxx:451
  #12 0x00007f51d9d85695 in SvpSalInstance::DoYield(bool, bool) (this=0x13d7690, bWait=<optimized out>, bHandleAllCurrentEvents=<optimized out>) at vcl/headless/svpinst.cxx:471
  #13 0x00007f51d9add654 in ImplYield(bool, bool) (i_bWait=i_bWait@entry=true, i_bAllEvents=i_bAllEvents@entry=false) at vcl/source/app/svapp.cxx:390
  #14 0x00007f51d9addc73 in Application::Yield() () at vcl/source/app/svapp.cxx:474
  #15 0x00007f51d946de4f in Dialog::Execute() (this=0x14554e40) at vcl/source/window/dialog.cxx:1078
  #16 0x00007f51d9a5ccec in virtual thunk to SalInstanceDialog::run() () at vcl/inc/salvtables.hxx:543
  #17 0x00007f51d92b45b2 in (anonymous namespace)::executeErrorDialog (nButtonMask=(anonymous namespace)::MessageBoxStyle::Ok, rMessage=Python Exception <class 'gdb.error'>: value has been optimized out
  , rContext=Python Exception <class 'gdb.error'>: value has been optimized out
  , eClassification=com::sun::task::InteractionClassification::InteractionClassification_ERROR, pParent=<optimized out>) at uui/source/iahndl-errorhandler.cxx:123
  #18 UUIInteractionHelper::handleErrorHandlerRequest(com::sun::task::InteractionClassification, ErrCode, std::__debug::vector<rtl::OUString, std::allocator<rtl::OUString> > const&, com::sun::uno::Sequence<com::sun::uno::Reference<com::sun::task::XInteractionContinuation> > const&, bool, bool&, rtl::OUString&) (this=this@entry=0x1408c9a8, eClassification=com::sun::task::InteractionClassification::InteractionClassification_ERROR, nErrorCode=..., nErrorCode@entry=..., rArguments=std::__debug::vector of length 0, capacity 0, rContinuations=uno::Sequence of length 1 = {...}, bObtainErrorStringOnly=bObtainErrorStringOnly@entry=false, bHasErrorString=@0x7ffd36859b90: false, rErrorString="") at uui/source/iahndl-errorhandler.cxx:250
  #19 0x00007f51d92bbcd5 in UUIInteractionHelper::handleInteractiveIOException(com::sun::uno::Reference<com::sun::task::XInteractionRequest> const&, bool, bool&, rtl::OUString&) (this=this@entry=0x1408c9a8, rRequest=uno::Reference to (ucbhelper::InteractionRequest *) 0x136bdcc8, bObtainErrorStringOnly=bObtainErrorStringOnly@entry=false, bHasErrorString=@0x7ffd36859b90: false, rErrorString="") at uui/source/iahndl-ioexceptions.cxx:265
  #20 0x00007f51d92a9e33 in UUIInteractionHelper::handleRequest_impl(com::sun::uno::Reference<com::sun::task::XInteractionRequest> const&, bool, bool&, rtl::OUString&) (this=this@entry=0x1408c9a8, rRequest=uno::Reference to (ucbhelper::InteractionRequest *) 0x136bdcc8, bObtainErrorStringOnly=bObtainErrorStringOnly@entry=false, bHasErrorString=@0x7ffd36859b90: false, rErrorString="") at uui/source/iahndl.cxx:474
  #21 0x00007f51d92aca90 in UUIInteractionHelper::handleRequest(com::sun::uno::Reference<com::sun::task::XInteractionRequest> const&) (this=this@entry=0x1408c9a8, rRequest=uno::Reference to (ucbhelper::InteractionRequest *) 0x136bdcc8) at uui/source/iahndl.cxx:177
  #22 0x00007f51d92c2d36 in (anonymous namespace)::UUIInteractionHandler::handle(com::sun::uno::Reference<com::sun::task::XInteractionRequest> const&) (this=0x1408c960, rRequest=<optimized out>) at uui/source/interactionhandler.cxx:194
  #23 0x00007f51d8ff8607 in ucbhelper::cancelCommandExecution(com::sun::uno::Any const&, com::sun::uno::Reference<com::sun::ucb::XCommandEnvironment> const&) (rException=uno::Any("com.sun.star.ucb.InteractiveAugmentedIOException": ...), xEnv=uno::Reference to (ucbhelper::CommandEnvironment *) 0x1494c7e8) at ucbhelper/source/provider/cancelcommandexecution.cxx:52
  #24 0x00007f5197fd8ddd in gio::Content::getFileInfo(com::sun::uno::Reference<com::sun::ucb::XCommandEnvironment> const&, _GFileInfo**, bool) (this=0x13658da0, env=uno::Reference to (ucbhelper::CommandEnvironment *) 0x1494c7e8, info=<optimized out>, fail=<optimized out>) at ucb/source/ucp/gio/gio_content.cxx:652
  #25 0x00007f5197fdf515 in gio::Content::getPropertyValues(com::sun::uno::Sequence<com::sun:🫘:Property> const&, com::sun::uno::Reference<com::sun::ucb::XCommandEnvironment> const&) (this=this@entry=0x13658da0, rProperties=uno::Sequence of length 1 = {...}, xEnv=uno::Reference to (ucbhelper::CommandEnvironment *) 0x1494c7e8) at ucb/source/ucp/gio/gio_content.cxx:448
  #26 0x00007f5197fe031e in gio::Content::execute(com::sun::ucb::Command const&, int, com::sun::uno::Reference<com::sun::ucb::XCommandEnvironment> const&) (this=0x13658da0, aCommand=<optimized out>, xEnv=uno::Reference to (ucbhelper::CommandEnvironment *) 0x1494c7e8) at ucb/source/ucp/gio/gio_content.cxx:951
  #27 0x00007f51d8fe73ad in ucbhelper::Content_Impl::executeCommand(com::sun::ucb::Command const&) (this=0x142235a0, rCommand=...) at ucbhelper/source/client/content.cxx:1264
  #28 0x00007f51d8fe8607 in ucbhelper::Content::getPropertyValuesInterface(com::sun::uno::Sequence<rtl::OUString> const&) (this=this@entry=0x7ffd3685a6d0, rPropertyNames=uno::Sequence of length 1 = {...}) at ucbhelper/source/client/content.cxx:500
  #29 0x00007f51d8fe88ba in ucbhelper::Content::getPropertyValues(com::sun::uno::Sequence<rtl::OUString> const&) (this=this@entry=0x7ffd3685a6d0, rPropertyNames=uno::Sequence of length 1 = {...}) at ucbhelper/source/client/content.cxx:458
  #30 0x00007f51d8fe8b37 in ucbhelper::Content::getPropertyValue(rtl::OUString const&) (this=this@entry=0x7ffd3685a6d0, rPropertyName="IsDocument") at ucbhelper/source/client/content.cxx:437
  #31 0x00007f51d8fe9282 in ucbhelper::Content::isDocument() (this=this@entry=0x7ffd3685a6d0) at ucbhelper/source/client/content.cxx:1028
  #32 0x00007f51d8feac5d in ucbhelper::Content::openStream() (this=this@entry=0x7ffd3685a6d0) at ucbhelper/source/client/content.cxx:693
  #33 0x00007f51d9274d77 in utl::MediaDescriptor::impl_openStreamWithURL(rtl::OUString const&, bool) (this=this@entry=0x7ffd3685b400, sURL=".component:Bibliography/View1", bLockFile=bLockFile@entry=true) at unotools/source/misc/mediadescriptor.cxx:468
  #34 0x00007f51d9275951 in utl::MediaDescriptor::impl_addInputStream(bool) (this=0x7ffd3685b400, bLockFile=bLockFile@entry=true) at unotools/source/misc/mediadescriptor.cxx:259
  #35 0x00007f51d927685a in utl::MediaDescriptor::addInputStream() (this=<optimized out>) at unotools/source/misc/mediadescriptor.cxx:220
  #36 0x00007f51d69a7745 in filter::config::TypeDetection::impl_openStream(utl::MediaDescriptor&) (this=this@entry=0x143f7da0, rDescriptor=...) at filter/source/config/cache/typedetection.cxx:1202
  #37 0x00007f51d69a9238 in filter::config::TypeDetection::impl_detectTypeFlatAndDeep(utl::MediaDescriptor&, std::__debug::vector<filter::config::FlatDetectionInfo, std::allocator<filter::config::FlatDetectionInfo> > const&, bool, rtl::OUString&) (this=this@entry=0x143f7da0, rDescriptor=..., lFlatTypes=std::__debug::vector of length 180, capacity 256 = {...}, bAllowDeep=bAllowDeep@entry=true, rLastChance="") at filter/source/config/cache/typedetection.cxx:902
  #38 0x00007f51d69b971f in filter::config::TypeDetection::queryTypeByDescriptor(com::sun::uno::Sequence<com::sun:🫘:PropertyValue>&, unsigned char) (this=0x143f7da0, lDescriptor=uno::Sequence of length 6 = {...}, bAllowDeep=1 '\001') at filter/source/config/cache/typedetection.cxx:434
  #39 0x00007f51d6ec41ee in framework::LoadEnv::impl_detectTypeAndFilter() (this=this@entry=0x14501c08) at framework/source/loadenv/loadenv.cxx:774
  #40 0x00007f51d6ec5446 in framework::LoadEnv::start() (this=this@entry=0x14501c08) at framework/source/loadenv/loadenv.cxx:395
  #41 0x00007f51d6ec5b67 in framework::LoadEnv::startLoading(rtl::OUString const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&, com::sun::uno::Reference<com::sun::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures) (this=this@entry=0x14501c08, sURL=".component:Bibliography/View1", lMediaDescriptor=uno::Sequence of length 5 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x16a8908, sTarget="_blank", nSearchFlags=0, eFeature=(LoadEnvFeatures::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at framework/source/loadenv/loadenv.cxx:308
  #42 0x00007f51d6d88634 in framework::LoadDispatcher::impl_dispatch(com::sun::util::URL const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&, com::sun::uno::Reference<com::sun::frame::XDispatchResultListener> const&) (this=0x14501bb0, rURL=..., lArguments=uno::Sequence of length 5 = {...}, xListener=empty uno::Reference) at framework/source/dispatch/loaddispatcher.cxx:107
  #43 0x00007f51d6d8987b in non-virtual thunk to framework::LoadDispatcher::dispatch(com::sun::util::URL const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) () at framework/source/inc/dispatch/loaddispatcher.hxx:99
  #44 0x00007f51d761f4d3 in SfxApplication::OpenDocExec_Impl(SfxRequest&) (this=<optimized out>, rReq=<optimized out>) at sfx2/source/appl/appopen.cxx:1097
  #45 0x00007f51d77065c2 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) (this=this@entry=0x2cf43b0, rShell=..., rSlot=..., rReq=..., bRecord=false) at sfx2/source/control/dispatch.cxx:254
  #46 0x00007f51d7711618 in SfxDispatcher::PostMsgHandler(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >) (this=0x2cf43b0, pReq=std::unique_ptr<SfxRequest> = {...}) at ~/gcc/inst/include/c++/14.0.0/bits/unique_ptr.h:193
  #47 0x00007f51d7713d74 in std::__invoke_impl<void, void (SfxDispatcher::*&)(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >), SfxDispatcher*&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> > >(std::__invoke_memfun_deref, void (SfxDispatcher::*&)(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >), SfxDispatcher*&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&) (__f=<optimized out>, __t=<optimized out>) at ~/gcc/inst/include/c++/14.0.0/bits/unique_ptr.h:191
  #48 std::__invoke<void (SfxDispatcher::*&)(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >), SfxDispatcher*&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> > >(void (SfxDispatcher::*&)(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >), SfxDispatcher*&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&) (__fn=<optimized out>) at ~/gcc/inst/include/c++/14.0.0/bits/invoke.h:96
  #49 std::_Bind<void (SfxDispatcher::*(SfxDispatcher*, std::_Placeholder<1>))(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)>::__call<void, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&, 0ul, 1ul>(std::tuple<std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&>&&, std::_Index_tuple<0ul, 1ul>) (__args=<optimized out>, this=<optimized out>) at ~/gcc/inst/include/c++/14.0.0/functional:511
  #50 std::_Bind<void (SfxDispatcher::*(SfxDispatcher*, std::_Placeholder<1>))(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)>::operator()<std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >, void>(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&) (this=<optimized out>) at ~/gcc/inst/include/c++/14.0.0/functional:596
  #51 std::__invoke_impl<void, std::_Bind<void (SfxDispatcher::*(SfxDispatcher*, std::_Placeholder<1>))(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)>&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> > >(std::__invoke_other, std::_Bind<void (SfxDispatcher::*(SfxDispatcher*, std::_Placeholder<1>))(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)>&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&) (__f=<optimized out>) at ~/gcc/inst/include/c++/14.0.0/bits/invoke.h:61
  #52 std::__invoke_r<void, std::_Bind<void (SfxDispatcher::*(SfxDispatcher*, std::_Placeholder<1>))(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)>&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> > >(std::_Bind<void (SfxDispatcher::*(SfxDispatcher*, std::_Placeholder<1>))(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)>&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&) (__fn=<optimized out>) at ~/gcc/inst/include/c++/14.0.0/bits/invoke.h:111
  #53 std::_Function_handler<void (std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >), std::_Bind<void (SfxDispatcher::*(SfxDispatcher*, std::_Placeholder<1>))(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)> >::_M_invoke(std::_Any_data const&, std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >&&) (__functor=<optimized out>, __args#0=<optimized out>) at ~/gcc/inst/include/c++/14.0.0/bits/std_function.h:290
  #54 0x00007f51d7a6aa83 in std::function<void (std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >)>::operator()(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >) const (__args#0=std::unique_ptr<SfxRequest> = {...}, this=0x134550c0) at ~/gcc/inst/include/c++/14.0.0/bits/std_function.h:591
  #55 SfxHintPoster::DoEvent_Impl(void*) (this=0x134550b0, pPostedHint=0x7f5174a248b0) at sfx2/source/notify/hintpost.cxx:43
  #56 0x00007f51d9590f30 in Link<void*, void>::Call(void*) const (data=<optimized out>, this=0x7f51748c59b8) at include/tools/link.hxx:111
  #57 ImplHandleUserEvent (pSVEvent=0x7f51748c59b0) at vcl/source/window/winproc.cxx:2287
  #58 ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (_pWindow=0x284cc10, nEvent=SalEvent::UserEvent, pEvent=0x7f51748c59b0) at vcl/source/window/winproc.cxx:2851
  #59 0x00007f51d9d8488f in SalFrame::CallCallback(SalEvent, void const*) const (pEvent=0x7f51748c59b0, nEvent=SalEvent::UserEvent, this=0x284f1c0) at include/rtl/ref.hxx:206
  #60 SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) (this=0x13d7690, aEvent=...) at vcl/headless/svpinst.cxx:266
  #61 0x00007f51d9a4b216 in operator() (__closure=<synthetic pointer>) at vcl/source/app/salusereventlist.cxx:119
  #62 SalUserEventList::DispatchUserEvents(bool) (this=this@entry=0x13d76b8, bHandleAllCurrentEvents=bHandleAllCurrentEvents@entry=false) at vcl/source/app/salusereventlist.cxx:120
  #63 0x00007f51d9d84fc3 in SvpSalInstance::ImplYield(bool, bool) (this=this@entry=0x13d7690, bWait=bWait@entry=true, bHandleAllCurrentEvents=bHandleAllCurrentEvents@entry=false) at vcl/headless/svpinst.cxx:395
  #64 0x00007f51d9d85695 in SvpSalInstance::DoYield(bool, bool) (this=0x13d7690, bWait=<optimized out>, bHandleAllCurrentEvents=<optimized out>) at vcl/headless/svpinst.cxx:471
  #65 0x00007f51d9add654 in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at vcl/source/app/svapp.cxx:390
  #66 0x00007f51d9addd8d in Application::Execute() () at vcl/source/app/svapp.cxx:368
  #67 0x00007f51d7bce212 in desktop::Desktop::Main() (this=0x7ffd3685d0c0) at desktop/source/app/app.cxx:1601
  #68 0x00007f51d9af112b in ImplSVMain() () at vcl/source/app/svmain.cxx:229
  #69 0x00007f51d9af13b5 in SVMain() () at vcl/source/app/svmain.cxx:261
  #70 0x00007f51d7c03c37 in soffice_main() () at desktop/source/app/sofficemain.cxx:94
  #71 0x000000000040078b in sal_main () at desktop/source/app/main.c:51
  #72 main (argc=argc@entry=7, argv=argv@entry=0x7ffd3685d2c8) at desktop/source/app/main.c:49

Strangely, this is inconsistent on Linux systems (shows on some
systems, but not on others).

Prevent this exiting from MediaDescriptor::impl_openStreamWithURL
early for these URIs.

Thank Stephan Bergmann for the help understanding it and deciding
how to fix it.

Change-Id: I84c551916e6643eeb219f23ff778d4418eea9124
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160057
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-28 22:29:03 +01:00
Noel Grandin
f4edd6258d simplify some BitmapEx constructions
using the color bitmap __and__ the alpha from another BitmapEx
is equivalent to just doing a straight copy/assign

Change-Id: I134ab8a1197ed538823afc4a8cd28b3d5986c6b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160019
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-28 19:55:51 +01:00
Andrea Gelmini
1ca6f51567 Fix typo
Change-Id: I834d1e296e19af269853bb1d8e73f754eebe2fb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160028
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-28 15:54:48 +01:00
Rafael Lima
ee161b9e48 Update git submodules
* Update helpcontent2 from branch 'master'
  to 751a65e5be60a35ae970b3a66b2038d90ea580e4
  - Document SF Toolbar and ToolbarButton services
    
    Change-Id: I57df3b88660198d2432ff73ef1b37025e1b893a3
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/159902
    Tested-by: Jenkins
    Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
    Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
2023-11-28 15:45:43 +01:00
Olivier Hallot
3f47a05f24 Update git submodules
* Update helpcontent2 from branch 'master'
  to df97eb056605af65df8f2b3935285b27b27c21ad
  - Fix example for YEAR() in Calc
    
    Change-Id: I77e05169e6786210683785217c3611f40d7ebb56
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/159901
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-11-28 14:56:02 +01:00
Heiko Tietze
5a622f1a29 Related tdf#156227 - Find/quickfind design
Themed icons look bad when drawn white on light blue;
using the same icon as on the infobar makes more sense

Change-Id: I6b4fd2bac7dce41b8196c702e0f0dc87712e2b8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160017
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-11-28 14:33:18 +01:00
Gökay Şatır
7697ef9d8f Proof reading suggestions:
* When user right clicks an underlined part of the sentence, we are checking if there is a suggestion list.
* Then we show the suggestions.

Sometimes spell checker algorithms send 2 lists for the same part of the sentence.
And we saw that one of these lists can be empty (no suggestions).
But since we check if there is a list, the empty list is shown to the user.

I updated the checks here and added a new condition:
Now we take the list if the list is not empty.
This way, we can find the not-empty list which may come after an empty list (for the same part of the sentence).

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ib3b498b98a8d44f8a7ead99593a71adcefa87a82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158832
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 4c6c60d44b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159908
Tested-by: Jenkins
2023-11-28 14:28:42 +01:00
Mike Kaganski
708e52a551 tdf#153693: improve SwXFlatParagraph::isModified check
The response from LanguageTool server may take some seconds, during which
the user may type more characters of an unfinished word. A result of the
check started using an incomplete text should be discarded in this case.

The code in GrammarCheckingIterator::ProcessResult that applies the check
results first calls isModified to decide if it should apply the result,
or to discard it. Before the change, SwXFlatParagraph::isModified only
checked that its underlying node is still referenced; but it could only
get nullified in SwXTextMarkup::Impl::Notify (only when the node dies),
or in SwXTextMarkup::ClearTextNode, called in SwXFlatParagraph::changeText
and SwXFlatParagraph::changeAttributes. Any external changes of the node
didn't mark SwXFlatParagraph "modified".

This change stores the initial text of the paragraph, from the moment of
creation of SwXFlatParagraph; and then compares it to the current text of
the node in isModified.

Change-Id: Ia9a2e74b256152fe311db874c66f7e5347183f12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160021
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-28 14:28:19 +01:00
Regina Henschel
bf6350ef7f tdf#158348 Treat wordprocessing canvas like group shape
getFullWPGSupport() is always false for mrShapeContext in case of a
shape on wordprocessing canvas in table cell. On the other hand we do
not need the test, because a wordprocessing canvas only occurs in docx
and thus the replacement group always has FullWPGSupport.

Change-Id: I0e7a9cf1c1c91a893ad7411fda7607947f053e05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159979
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2023-11-28 14:07:30 +01:00
Xisco Fauli
7b96db5160 update credits
Change-Id: I086375044292658c7bfb7b7d4a99d4d1e1313ac3
2023-11-28 12:56:36 +01:00
Stephan Bergmann
143f223e5e -Werror,-Wunused-private-field
Change-Id: Ide7172c567f595fb7e44f19c8d96ab8d6b751491
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160007
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-11-28 12:31:17 +01:00
Armin Le Grand (allotropia)
878b4ffc3e Update SlideShow on DrawModel changes II
Change-Id: Idfbbb7744cc7b2182647b45f509399535a2d4df2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159930
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-11-28 11:52:04 +01:00
Michael Weghorn
8b04bc1d6b external/zxing: Backport my upstream fix for android build w/ NDK 26
Upstream issue/PR/commit:
https://github.com/zxing-cpp/zxing-cpp/issues/673
https://github.com/zxing-cpp/zxing-cpp/pull/674
295b193b01

Change-Id: I47586e0e54b3661e4ca1b5c071f6595fd000cc70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159999
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-11-28 10:59:18 +01:00
Miklos Vajna
7f58b57b47 sw floattable, per-frame wrap-on-all-pages mode: add ODT filter
See <https://issues.oasis-open.org/browse/OFFICE-4150>, map
SwFormatWrapTextAtFlyStart to

	<style:graphic-properties loext:wrap-text-at-frame-start="...">

on export, and the opposite on import.

Change-Id: I43ee4c014fbcef8e883ff08ea061cfd395399a98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160010
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2023-11-28 09:53:13 +01:00
Caolán McNamara
8c727d1a9a Always send theme-change in kit-mode even if the global theme is the same
Kit explicitly ignores changes to the global color scheme, except for the current ViewShell,
so an attempted change to the same global color scheme when the now current ViewShell ignored
the last change requires re-sending the change. In which case individual shells will have to
decide if this color-scheme change is a change from their perspective to avoid unnecessary
invalidations.

Add ConfigurationHints::OnlyCurrentDocumentColorScheme as the hint that
only the document color scheme has changed, so individual shells can see
if their document color scheme is different to this new color scheme and
not invalidate if unnecessary. So dark/light mode changes work properly
without reintroducing unwanted invalidations.

Change-Id: I5ebb4878694ceb6b9afe26286a30da06ea6ff3ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160002
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-28 09:36:08 +01:00
Caolán McNamara
cd2ba8cd78 ScViewOptions::operator== doesn't compare sColorSchemeName
Change-Id: I21e6630deb9a5329092c88651e4ba0a3715ce616
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159997
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-28 09:35:54 +01:00
Mike Kaganski
e2aa7041b9 lok: don't use template flag in more places
Similar to commit e2ee3dd61a (lok: add
broken package interaction handler, 2023-10-02), all places of broken
package handling should allow replacing the original document.

Change-Id: I8450dfc0ab60444fa08014cc952ac857998d35ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160009
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-28 09:21:06 +01:00
Miklos Vajna
5beec1db91 sw: document SwFormatRuby
Who owns it, where is the UI, which contain can have this.

Change-Id: I78bf968f2f887131fe49e5ca56b9a86a2539adc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160004
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-11-28 08:25:51 +01:00
Matt K
6130811243 tdf#156648 Prevent LO from adding an empty event listener
The problem is that an empty interface listener can be
added in Basic, which then crashes when trying to fire
an event on that listener.  The fix is to check for
the existence of the listener before adding to the list
of listeners.

Change-Id: I3205ec1e6cdad431f6297f2b7833295b9eb64b8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159978
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-28 06:16:54 +01:00
Tomaž Vajngerl
9e876c164a sw: move header/footer tests to own class in core tests
In addition add some more basic header/footer tests.

This makes refactoring of header and footer OOXML import
much easier.

Change-Id: I5b3b3714656ba2f7b1dda8d8f067c3bfe68857a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159946
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-11-28 04:02:22 +01:00
Kevin Suo
5589659829 tdf#157589 tdf#153969: Revert "sdext.pdfimport Writer: Do not visit...
... DrawElement twice in WriterXmlEmitter"

This reverts commit 9ea9d3ccc0.

The reason for the revert:
It causes regressions as indicated in tdf#157589 and tdf#153969.
That commit may be my misunderstanding of the code.

Change-Id: Idd188bf83721d309623a7f8484d064327a3a23af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159811
Tested-by: Jenkins
Reviewed-by: Kevin Suo <suokunlong@126.com>
2023-11-28 03:08:39 +01:00
Olivier Hallot
38ef707aaf Update git submodules
* Update helpcontent2 from branch 'master'
  to 4d8a15e36d381a5d839b878f2058bfba15b3442c
  - tdf#155876 UI cmds Calc-Format menu (22)
    
    + Conditional formatting
    + refactoring
    
    Change-Id: I4fcca025ec2d4091f5a7afacf1adcc41e10826b0
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/160005
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-11-27 21:03:09 +01:00
Julien Nabet
8c3e4dba01 Move a cui header inside the module
+ fix building issues about "cuidllapi.h"
+ remove #include <cui/dlgname.hxx> in some cxx since their corresponding hxx already contains the include

Change-Id: I2396104fbcbca2e1aca29cdb2324ae0f4daf63cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159996
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-27 20:20:55 +01:00
Jim Raykowski
468c511022 tdf#158103 Enhancement to display Sections as an expandable/
collapsible hierarchy in the Writer Navigator

Change-Id: I86bc17d11b4c5bf0ca0496e4ab62a0d77ddb625f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159812
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-11-27 18:56:38 +01:00
Miklos Vajna
c8f7408db7 tdf#158302 fix build against system-libxml-2.12
Seen in a fedora:40 container, using --with-system-libcmis,
--with-system-liblangtag and --with-system-xmlsec.

Change-Id: I9d748d3dc0b70dbfdfcb6b99c9ce8440bda6f326
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159980
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-11-27 16:09:13 +01:00
László Németh
53de98b295 tdf#158333 sw smart justify: fix multiple text portions
Multiple text portions, e.g. if some part of a line
contains direct character formatting breaks DOCX
interoperability of justified paragraphs.

Follow-up to commit 17eaebee27
"tdf#119908 sw smart justify: fix justification by shrinking".

Change-Id: Ia53e763fdba89bb733bde088874e641b25d733f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159862
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2023-11-27 14:48:19 +01:00
Julien Nabet
c56d0355b7 Remove unused #include <cui/dlgname.hxx>
Change-Id: If8df9416ef0f63bd3e294635038c871b8ce58049
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159993
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-27 14:41:53 +01:00
Patrick Luby
8a5da07959 tdf#155092 don't dispatch left mouse up events during live resizing
Round 2 of trying to fix macOS live resizing.

If this is a left mouse up event, dispatching this event
will trigger tdf#155092 to occur in the next mouse down
event. So do not dispatch this event and push it back onto
the front of the event queue so no more events will be
dispatched until live resizing ends. Surprisingly, live
resizing appears to end in the next mouse down event.

Also, reverted parts of commit 54da842381
and cleaned up the setting of ImplGetSVData()->mpWinData->mbIsLiveResize.

Change-Id: Ie93ed496e1f0e2a1711284ab205c6b245f71647c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159960
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@libreoffice.org>
2023-11-27 14:36:51 +01:00
Michael Weghorn
d134615570 tdf#158398 android: Draw light gray background for Calc headers
Similar to the desktop version, use a light gray background
color for the Calc header cells.

There was already code in place to draw darker gray background
to highlight the header cell when a cell in that row/column is
selected.
(The actually highlighted header cell didn't wasn't always the
correct one in a quick test, but that's independent of this change.)

Adapt that to always fill the rectangle, but use a lighter gray
(lower alpha value) when not selected.
Use a separate `Paint` object for the frame (stroke).
Set the frame color and text color to black instead of gray, for
better contrast to the light gray fill/background.

Change-Id: I0490811e928ebd1b3840242fc1aa4682b2786b00
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159989
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-11-27 14:04:21 +01:00
Michael Weghorn
7c7e044f3c tdf#158398 android: Center Calc header text
Center the header text in the Calc header cell, to
make better use of the space. This is in line with
what the desktop version also does.

Setting the text alignment to `Paint.Align.CENTER`
is sufficient for centering horizontally.
There's no equivalent for centering vertically, so
calculate the position based on the text bounds.

Change-Id: Ia8d5d8434b703cb7daecd34ae70405883f22f0d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159988
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-11-27 14:04:13 +01:00
Michael Weghorn
808a94d859 android: Make CalcHeaderCell fields final
Change-Id: I7e14145569428a2803f9376cf719e524aa8963a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159987
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-11-27 14:04:04 +01:00