Commit graph

500095 commits

Author SHA1 Message Date
Michael Stahl
7b8cec8322 tdf#162268 sw: ApplyParagraphMarkFormatToEmptyLineAtEndOfParagraph
Commit 2b47fae7e3 introduced the
compatibility setting ApplyTextAttrToEmptyLineAtEndOfParagraph, but that
was probably a mistake.

What Word is doing there is not applying a text attribute but applying the
formatting of the paragraph marker; add a new compatibility setting
ApplyParagraphMarkFormatToEmptyLineAtEndOfParagraph to do this.

Change SwAttrIter to apply the RES_PARATR_LIST_AUTOFMT formatting when
the position behind the last character is reached, and use it to set the
height of the last line in SwLineLayout::CalcLine() in case it is empty
or contains only spaces/tabs.

Frustratingly this requires another change to fdo74110.docx to get rid
of some odd font that's applied to the paragraph marker.

Also, change SwTextFrame::IsHiddenNow() to take into account paragraph
marker formatting; if all characters are hidden but the paragraph marker
isn't hidden, the paragraph is still displayed in Word.

Change-Id: Icccd3e822ad0301ccbe373b50431c3254f691d6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173880
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-09-27 18:09:57 +02:00
Dione Maddern
ecc03c0b37 Update git submodules
* Update helpcontent2 from branch 'master'
  to 1e172e94687ea10cf2a7ddd5a8b61f3aff819fd1
  - tdf#162275 Add documentation for "database table references"
    
    Added new help page source/text/scalc/01/database_table_reference.xhp
    to cover the "database table references" feature in Calc, also called
    "structured references".
    
    Added new help page to repository AllLangHelp_scalc.mk
    
    Added section and variable tags to allow pages to be more easily linked
    and embedded in other pages in:
    - source/text/scalc/01/04060101.xhp
    - source/text/scalc/01/04060107.xhp
    - source/text/scalc/01/12010000.xhp
    - source/text/shared/optionen/01060900.xhp
    
    Added Related Topics links to make it easier to access relevant
    information in:
    - source/text/scalc/01/04060101.xhp
    - source/text/scalc/01/04060107.xhp
    - source/text/scalc/01/12010000.xhp
    - source/text/scalc/guide/database_define.xhp
    
    Change-Id: Ic3bf69b8ad773828efeea35a7539ebf29bae6856
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/173999
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
    Tested-by: Jenkins
2024-09-27 16:35:56 +02:00
Dr. David Alan Gilbert
aec41175e8 tdf#162887 sdext.pdfimport: Fix tilingPatternFill crash
regression from
  commit 8ac5f40b33
  Author: Dr. David Alan Gilbert <dave@treblig.org>
  tdf#113050 sdext.pdfimport: Write the tiling pattern image

The logo in the test file in tdf#159115 appears to be a tiling pattern
fill where the fill is actually rendered text (instead of just an image)
and this triggers splash to try and look at it's font code (even though
I've already got EnableFreeType off) and that was initialised by
startDoc which I'd failed to call.  Call it.

Note this doesn't fix tdf#159115, which originally had 4 copies of the
logo, the current state is it has one unrendered white blob, but lets
get rid of the crash first.

Change-Id: I4e3f29cedcb8aefbb5adf96f696bf08457fbd58a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173139
Tested-by: Hossein   <hossein@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Hossein   <hossein@libreoffice.org>
2024-09-27 15:59:14 +02:00
Sahil Gautam
29fd68bb68 tdf#85976 [RFE] Add a "Remove Duplicate Records" command
Add a "Remove Duplicate Records" entry under Calc > menu Data
to remove duplicate records from a rectangular selection
of cells in Calc.

Change-Id: Ic8340d7f1e19461ef3666fd2ef65294b73577d5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160685
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
2024-09-27 15:22:46 +02:00
Heiko Tietze
b8368ad96e Resolves tdf#108697 - Update default bullets
Change-Id: I35387f5399a18ecd15237485458233b28f88ea37
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174028
Tested-by: Jenkins
Reviewed-by: Vernon, Stuart Foote <vsfoote@libreoffice.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-09-27 15:21:37 +02:00
Armin Le Grand (Collabora)
59fc2b5ca9 tdf#163125: CairoSDPR: Take virtual OutDevs into account
Unfortunaletly we have 'virtual' OutDevs, that means their
PixelSize is bigger as they claim and they use an internal
offset. This is used to not have to create too many Windows
inside Windows (AFAIR initial reason was that Windows has
a fix number of Windows per process that can be incarnated).

The offset was/is already supported by SDPRs using
ViewInformation2D and adding ot to the ViewTransformation,
but the evtl. existing PixelSize has to be clipped against.
The fallback VclPixelProcessor2D supports that indirectly
by doing that in the OutDev commands that get called, so
it does not need to be done by that renderer.

I have now added code to support that for the
CairoPixelProcessor2D, see code and comments. It uses an
existing method of cairo to do that elegantly inside the
system-dependent code of the SDPR.

Note that the Windows SDPR D2DPixelProcessor2D will
have the same problem that will have to be solved there,
too. Since it's currently in experimental state I made
myself a note about that.

Change-Id: I68915985102bb4a63c84299f8d022ab013633510
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173998
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-09-27 13:38:35 +02:00
Caolán McNamara
6f53881f44 null-deref seen in testing
#2  0x0000000000ac8c3e in std::__glibcxx_assert_fail(char const*, int, char const*, char const*) ()
 #3  0x00007fa92f2fa26f in std::unique_ptr<WindowImpl, std::default_delete<WindowImpl> >::operator* (this=<optimized out>)
     at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:443
 #4  std::unique_ptr<WindowImpl, std::default_delete<WindowImpl> >::operator* (this=<optimized out>) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:443
 #5  vcl::Window::CallEventListeners (this=this@entry=0x34eb4f40, nEvent=nEvent@entry=VclEventId::ObjectDying, pData=pData@entry=0x0)
     at libreoffice/vcl/source/window/event.cxx:272
 #6  0x00007fa92f38277a in vcl::Window::dispose (this=0x34eb4f40) at libreoffice/vcl/source/window/window.cxx:159
 #7  0x00007fa92f678064 in VclPtr<HelpTextWindow>::disposeAndClear (this=<synthetic pointer>) at libreoffice/include/rtl/ref.hxx:88
 #8  ImplDestroyHelpWindow (rHelpData=..., bUpdateHideTime=<optimized out>) at libreoffice/vcl/source/app/help.cxx:576
 #9  0x00007fa92f6780f8 in ImplDestroyHelpWindow (bUpdateHideTime=<optimized out>) at libreoffice/vcl/source/app/help.cxx:565
 #10 0x00007fa92f679125 in ImplShowHelpWindow (pParent=0x334cfb90, nHelpWinStyle=<optimized out>, nStyle=QuickHelpFlags::NONE, rHelpText="Chart Area", rScreenPos=Point = {...}, rHelpArea=...)
     at libreoffice/vcl/source/app/help.cxx:532
 #11 0x00007fa92f679544 in Help::ShowQuickHelp (pParent=pParent@entry=0x334cfb90, rScreenRect=..., rHelpText="Chart Area", nStyle=nStyle@entry=QuickHelpFlags::NONE)
     at libreoffice/vcl/source/app/help.cxx:189
 #12 0x00007fa91ae862e0 in chart::ChartWindow::RequestHelp (this=0x334cfb90, rHEvt=...)
     at libreoffice/chart2/source/controller/main/ChartWindow.cxx:227
 #13 0x00007fa92e2e88a0 in (anonymous namespace)::LOKPostAsyncEvent (pEv=0x35b4a320) at libreoffice/sfx2/source/view/lokhelper.cxx:1103
 #14 0x00007fa92e2e076a in LokChartHelper::postMouseEvent (this=this@entry=0x7ffd226dd650, nType=nType@entry=2, nX=nX@entry=15405, nY=nY@entry=4089, nCount=nCount@entry=1,
     nButtons=nButtons@entry=0, nModifier=0, fScaleX=fScaleX@entry=0.10000000000000001, fScaleY=fScaleY@entry=0.10000000000000001)
     at libreoffice/sfx2/source/view/lokcharthelper.cxx:294
 #15 0x00007fa92e2e5b80 in SfxLokHelper::testInPlaceComponentMouseEventHit (pViewShell=pViewShell@entry=0x337e52a0, nType=nType@entry=2, nX=nX@entry=15405, nY=nY@entry=4089,
     nCount=nCount@entry=1, nButtons=nButtons@entry=0, nModifier=0, fScaleX=0.10000000000000001, fScaleY=0.10000000000000001, bNegativeX=false)
     at libreoffice/include/rtl/ref.hxx:69
 #16 0x00007fa91dba1e0e in ScModelObj::postMouseEvent (this=0x4593d10, nType=2, nX=15405, nY=4089, nCount=1, nButtons=0, nModifier=0)
     at libreoffice/sc/source/ui/unoobj/docuno.cxx:799
 #17 0x00007fa92e39567f in doc_postMouseEvent (pThis=0x334b8290, nType=2, nX=15405, nY=4089, nCount=1, nButtons=0, nModifier=0)
     at libreoffice/desktop/source/lib/init.cxx:5597
 #18 0x0000000000578631 in lok::Document::postMouseEvent (nModifier=0, nButtons=0, nCount=1, nY=<optimized out>, nX=<optimized out>, nType=<optimized out>, this=<optimized out>)
     at libreoffice/include/LibreOfficeKit/LibreOfficeKit.hxx:297
 #19 ChildSession::mouseEvent (this=this@entry=0x317e3cf0, tokens=..., target=target@entry=LokEventTargetEnum::Document) at kit/ChildSession.cpp:1906
 #20 0x0000000000588485 in ChildSession::_handleInput (this=<optimized out>, buffer=<optimized out>, length=<optimized out>) at kit/ChildSession.cpp:634

Change-Id: Ic67c8b7c4553853d0ab36dd448642564b6b6fb69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173922
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-27 11:24:29 +02:00
Caolán McNamara
6c4db29e74 cid#1607206 PA: Public Attribute
Change-Id: Ic76b397921c97314005cd0e05646fc45b303ded8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173974
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-27 11:24:13 +02:00
Rafael Lima
911a57c4d6 tdf#160062 Uno API to set solver settings at the sheet level
This patch creates the API necessary to create solver models via macros, so that the model is visible in the Solver dialog, and the model is saved to the file.

This patch also includes a comprehensive unit test in scsolverobj.cxx.

Visit the bug ticket for a file with some examples of such macros.

Change-Id: Ib9cfbbdaab8243cd6b901a2bcd99e46c27be97e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171769
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-09-27 11:06:57 +02:00
Olivier Hallot
646479d234 Update git submodules
* Update helpcontent2 from branch 'master'
  to 58b1983c442d5a7f0694789b341c2caeb661fc3c
  - Fix switch for regular expressions.
    
    Change-Id: I40f0abc285a7effb71a18d37862fdd9b606edc84
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/174007
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
    Tested-by: Jenkins
2024-09-27 10:50:02 +02:00
Adam Seskunas
aa5fdd3957 Add file stats to check-missing-unittests.py
Get files modified, insertions and deletions for
each of the missing unit tests.

Change-Id: I7b6c2f0f988137c533d7b9283faa9a2753ef41e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173481
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-09-27 10:19:31 +02:00
Miklos Vajna
a581dbf982 cool#9992 lok doc sign: only take sign cert from the view in the cert chooser
Have two views, in case both of them haver sign certs configured in the
NSS database, then the cert chooser would present both, which is not
wanted.

The problem is that the NSS database contains sign certs from all views,
so working from the database is not what we want for the LOK case.

Fix the problem by passing the SfxViewShell from the sign dialog to the
certificate chooser dialog, and then the chooser can work from the view
in LOK mode.

Searching for other uses of getPersonalCertificates(), the comphelper/
one is not relevant for the LOK case (gpg is disabled there); the PDF
case is only for the UNO API, so those don't necessarily need adjusting.

Change-Id: Ic7027b8d218b2bde3c8bf134a4b11c14fd9c3570
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174002
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2024-09-27 10:01:30 +02:00
Chris Sherlock
522d2aaf1c vcl: flatten BitmapMosaicFilter::execute()
Change-Id: I9e56c285cffe14374a66204ef8126a20f0e7c07c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173203
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-09-27 08:28:08 +02:00
Jonathan Clark
c3c29d31d7 tdf#140767 Implemented Syriac justification
This change extends kashida justification to Syriac, using custom
insertion rules.

Change-Id: I7508d2c32e95abb12a098e989c7153828ba81c87
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173990
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-09-27 03:50:01 +02:00
Jonathan Clark
d8f430e4be tdf#163105 Use HB data while selecting kashida insertion positions
Previously, Writer and Edit Engine would skip inserting kashida in words
if the highest-priority candidate position is marked as invalid by
HarfBuzz. This would happen even if the word contained multiple
lower-ranked valid candidate positions.

This change updates Writer and Edit Engine to pass HarfBuzz kashida
position data to the selection algorithm. The algorithm has been updated
to return the highest-priority valid position, if any. The algorithm has
also been updated to use raw positions marked as valid by HarfBuzz as a
fallback, if no better positions could be found.

Change-Id: I40c6432c4607aee197e8767e5667db504469956a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173963
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-09-26 22:44:03 +02:00
Oliver Specht
348efa75b9 tdf#132274 follow-up fix
Width of zoom radio buttons increased to prevent overwriting
of zoom value control in e.g. German translation.

Change-Id: I1e78840ede6aa1899ec7b62fdd0ce2bc92edea9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173948
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-09-26 20:48:02 +02:00
Xisco Fauli
b532d79f39 tdf#162687: ODF 1.4: fix import
Change-Id: Ic728c1c92ff5815c0780ba18e1a473d26e13e63f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173993
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2024-09-26 19:15:05 +02:00
Xisco Fauli
fc9155f8cd CppunitTest_xmloff_draw: simplify a bit
Change-Id: Ic36e2c50953e99d7509c1d16ffef2f9f5f3a7bf4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173992
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2024-09-26 19:14:43 +02:00
Xisco Fauli
b617ac7322 ODF 1.4: add ODFVER_014_TEXT constant
Change-Id: I219c854b11a5bd4be3d789b93a96e045e3dca29f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173991
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2024-09-26 19:14:29 +02:00
Xisco Fauli
dc8718385b CppunitTest_xmloff_draw: remove leftover
after 146dac7d30
"tdf#162690, tdf#162687: Adapt to ODF 1.4"

Change-Id: I1236b89186e51e594610272a2ea490274ddc41e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173979
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-09-26 19:13:48 +02:00
Oliver Specht
ba02bfc98a Revert "tdf#162268: Import - add zero width space after line break"
This reverts commit d6f2f115c7.

Reason for revert: While the change improves the document attached to tdf#162268 it breaks other documents with similar but slightly different settings e.g. https://bugs.documentfoundation.org/attachment.cgi?id=191094&action=edit

Change-Id: Ic1f17307118979586287f000d460caa16e26367d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173394
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
2024-09-26 18:01:06 +02:00
Tomaž Vajngerl
0c534406b0 Clean-up Primitive2D XML dump
Use static_cast instead of dynamic_cast when it makes more sense
to do so and use auto to make the code more readable (when we
write the type 2 times).

Change-Id: I433885ab11437b1e086e0b8e255ed9dbe7e43b90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173978
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
2024-09-26 16:44:43 +02:00
Heiko Tietze
52adaa2a1a Update git submodules
* Update helpcontent2 from branch 'master'
  to 8a8dda1b93bf192540e81417bc6abc2c6bc9a077
  - Removal of hard-coded split window shortcut
    
    I9d3692640d7bfb6283445cf7f103986cf72581af
    
    Change-Id: I00f75b4481a5795674a3a18eea7ca8701dc542fc
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/173095
    Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
    Tested-by: Jenkins
2024-09-26 16:10:56 +02:00
Heiko Tietze
2ac51182e6 Related tdf#146906 - Remove hard-coded access to split window
* Calc users can customize .uno:SplitWindow
* Help modification in I00f75b4481a5795674a3a18eea7ca8701dc542fc

Change-Id: I9d3692640d7bfb6283445cf7f103986cf72581af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173122
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
2024-09-26 16:10:16 +02:00
Mike Kaganski
70a183875a Fix build: move CrashReporter code to vcl/source/window/builder.cxx
This problem appeared after commit 1a1bf2b78d
(tdf#130857 VclBuilder: Extract helper to start parsing UI file, 2024-09-26):

[LNK] Library/libvclplug_qt5lo.so
/home/mk/core/include/vcl/widgetbuilder.hxx:55: error: undefined reference to 'CrashReporter::addKeyValue(rtl::OUString const&, rtl::OUString const&, CrashReporter::tAddKeyHandling)'
collect2: error: ld returned 1 exit status
make[1]: *** [/home/mk/core/vcl/Library_vclplug_qt5.mk:20: /home/mk/build/instdir/program/libvclplug_qt5lo.so] Error 1

Change-Id: I212aa3cbc381770de8fec07ea6454ab209edefc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173977
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-09-26 15:33:38 +02:00
Patrick Luby
e4ab68142c tdf#163152 don't convert image's sRGB colorspace
With Skia/Raster or Skia disabled, converting the image's
colorspace to match the window's colorspace causes more than
an expected amount of color saturation so let the window's
underlying CGContext handle any necessary colorspace conversion
in CGContextDrawImage().

With Skia/Metal, this bug is caused by the CAMetalLayer being
set to the same colorspace as its matching window. So set the
CAMetalLayer's colorspace to sRGB so that, like with Skia/Raster
and Skia disabled, any colorspace conversion is handled when the
CAMetalLayer is drawn to the window.

Change-Id: Ifa2abe46d34bfcf5acd478fffd346603f869157b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173962
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-09-26 15:13:45 +02:00
Caolán McNamara
0724127c6d cid#1607041 PA: Public Attribute
Change-Id: Iedea5a5e42fa311441a77ee4e18a1b3cbfdf0c44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173973
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-26 14:53:29 +02:00
Caolán McNamara
72423868bd cid#1607381 PA: Public Attribute
Change-Id: I44377535cabfd0c34a7f2b0815d779b17fbf8f53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173972
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-09-26 14:53:22 +02:00
Caolán McNamara
b9e15ba06f cid#1608290 PA: Public Attribute
Change-Id: I710d0d90122f4b2a82084a32a98a3877b3fae5bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173971
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-26 14:53:15 +02:00
Mike Kaganski
e5b18c7d00 Make slideshow objects' debugging semi-transparency and shift conditional
It was introduced in commit cfd7bf7f6e
(INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED, 2007-07-17); and
back then, it was guarded by VERBOSE define. The VERBOSE condition
was replaced by OSL_DEBUG_LEVEL >= 2 condition later in commit
912e36e911 (Remove VERBOSE part 3,
2012-04-10); and then, it was completely dropped in commit
e5ec630414 (stop inclduing
canvas/verbosetraces.hxx and canvas/debug.hxx, 2015-08-11).

But this code is definitely harmful by default, when an unaware
developer (like myself) tries to debug an animation problem, and
suddenly sees a very different problem in the debug build (the shift
and transparency of objects), which obviously is a new regression in
master, but it can't be bisected using bibisect repos, which makes
you to question your sanity, until you realize that it must be some
debug-only feature.

Thorsten wrote on IRC:
> the semi-transparency & shifting is needed for actually noticing
> what's behind (shapes get moved to sprites, then erased from the
> static canvas, then moved around)
> so I believe it's useful debugging tools, but of course should not
> randomly enable for normal dev builds

So use environment variable to control this behavior-changing code.

Change-Id: I493cdde26c95fdde4a5d542a0bdad8e329fdfda8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173965
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-09-26 14:48:13 +02:00
Chris Sherlock
8e1f8e9b70 vcl: move variables closer to first use in BitmapFilterStackBlur functions
Change-Id: I7ce550928cf3aadf55006d43dc6aff6d109ec826
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173202
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-09-26 14:27:19 +02:00
Andrea Gelmini
cec1197603 Fix typo
Change-Id: Iee9830ee99e2ae6416e441aea0f3007a8710dcaf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173988
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-09-26 14:00:57 +02:00
Andrea Gelmini
47dda09d3e Fix typo in code
Change-Id: Id3115847fec65fea5a4060ec0f65fe752eef8f16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173950
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2024-09-26 14:00:38 +02:00
Chris Sherlock
3cf0b46327 vcl: flatten functions in BitmapEx.cxx
Change-Id: I62a876ae2d517e47efc0d8abccaece3f6059b4fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173200
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-09-26 13:50:48 +02:00
Caolán McNamara
eb227657d9 cid#1608414 Double lock
since:

commit f3e127217d
CommitDate: Wed May 10 13:28:09 2023 +0200

    use comphelper::WeakComponentImplHelper in DocumentEventNotifier::Impl

problem:

108        std::unique_lock aGuard(m_aMutex);
109        if ( !impl_isDisposed_nothrow(aGuard) )
110        {
111            acquire();
CID 1608414: (#1 of 1): Double lock (LOCK)
4. double_lock: dispose locks this->m_aMutex while it is locked.[show details]
112            dispose();
    /include/comphelper/compbase.hxx
    73    virtual void SAL_CALL dispose() noexcept final override
    74    {
    1. lock: dispose locks this->m_aMutex.[show details]
    75        WeakComponentImplHelperBase::dispose();
        /comphelper/source/misc/compbase.cxx
        20    void SAL_CALL WeakComponentImplHelperBase::dispose()
        21    {
        1.        lock: unique_lock locks this->m_aMutex.
        22        std::unique_lock aGuard(m_aMutex);

Change-Id: Ibd9dc0564adf86c6409794f584a743aecd9d36e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173970
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-26 13:39:32 +02:00
Caolán McNamara
27fc6242c7 cid#1607525 silence Overflowed constant
and

cid#1607982 Overflowed constant

Change-Id: Ib7be7f8e17deb6184e25e543eab68dd704673eba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173968
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-26 13:39:23 +02:00
Caolán McNamara
cfc0fcd729 cid#1619687 Not restoring ostream format
Change-Id: Id47cdffca6e597f3bf60ac9def5e92916443b117
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173967
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-26 13:39:16 +02:00
Caolán McNamara
5bebb6406a cid#1619696 Dereference after null check
Change-Id: I52bf93d2561c94da0f9129c5df90ec8dd21e4deb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173966
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-26 13:38:58 +02:00
Miklos Vajna
c57434559c cool#9992 lok doc sign: conditionally show the add button in the sign dialog
Open the sign dialog, the Add button is hidden, even if the LOK clients
initializes the view with a working signing certificate.

SfxMedium::SignContents_Impl() knows the correct view, but by the time
the execution arrives to the DigitalSignaturesDialog ctor, this info is
lost, so we don't know what is the current view.

Fix the problem by looking up the view of the object shell at UNO
command dispatch time, and passing that around, so the signature dialog
can also access it. If the view has a signing certificate configured,
then allow signing.

The certificate chooser triggered by this button still needs fixing.

Change-Id: I1fae63cea27ea1e68e938879f4507f53ade484f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173964
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2024-09-26 11:06:06 +02:00
Matthew Kogan
2b68729253 tdf#162566 sw: Make it optional for moved text to be displayed as green
by the new config option "DisplayMovedTextInGreen", as a temporary fix
to hide incorrect changes in corner cases.

Change-Id: Ie629ca22a2411db4ddbfc9f6b96fe6fe69681213
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173127
Tested-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2024-09-26 10:03:33 +02:00
Sohrab Kazak
185899c145 tdf#148320 Toggle ToC/Index Title
Implements the checkbox to toggle the title in the ToC/Index.
The checkbox does not disable the text entry of the title only
hard codes the title to be an empty string.
Solution could use more work.

Change-Id: I752953ebb6b970dd3e802d76bdc15f478b535a89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172477
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-09-26 09:23:16 +02:00
László Németh
7a78be5090 tdf#163060 sw smart justify: fix unwanted line break inside words
End-of-line narrow line portion was broken into the
following line, despite that it was inside a word,
if the remaining free space for the line portion
was negative in the line (GetLineWidth()), because
of missing calculation with the extra available
line width resulted by space shrinking.

Regression from commit 53de98b295
"tdf#158333 sw smart justify: fix multiple text portions".

Change-Id: I802b8469c82250be7ac6f3a73a4dc457deb72a19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173961
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2024-09-26 09:02:28 +02:00
Michael Weghorn
eacc348939 tdf#160837 vcl: Protect SalFrame::maGeometry access
Make SalFrame::maGeometry a protected instead
of a public class member.

This restricts direct access to subclasses
and friends, making it easier to keep
track and preventing direct access (including the
possibility to set a different geometry) from
"random" places.

Other code previously directly accessing
SalFrame::maGeometry was adjusted in previous
commits.

Change-Id: I8b41f382228e48afb94da88f99d1cfb3c3b8f834
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173960
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-09-26 07:11:56 +02:00
Michael Weghorn
25f8b88ac9 tdf#160837 win: Move UpdateFrameGeometry to WinSalFrame
Turn the previously static helper function
UpdateFrameGeometry into a WinSalFrame method.

It requires write access to the maGeometry member, which is
currently still, but soon no longer public.

Change-Id: Ief0dfee6061a5ea4e8ce497f1605b7c46c6e40c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173959
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-09-26 07:11:48 +02:00
Michael Weghorn
b00d322c5f tdf#160837 win: Move SetMaximizedFrameGeometry to WinSalFrame
Turn the previously static helper function
SetMaximizedFrameGeometry into a WinSalFrame method.

It requires write access to the maGeometry member, which is
currently still, but soon no longer public.

Change-Id: Iceef8a5366e6f4f5bf2163011651ee99ee908b2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173958
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-09-26 07:11:41 +02:00
Michael Weghorn
c3e89c03d3 tdf#160837 win: Replace some direct access to SalFrame::maGeometry
Replace some direct access to the (currently still, but
soon no longer public) SalFrame::maGeometry member in
Windows-specific code by using the public getter
SalFrame::GetUnmirroredGeometry, or more specific getters
for the height and width (SalFrame::GetWidth, SalFrame::GetHeight).

Change-Id: I49babdc0f40fe41b44f968ce0a7d3c219a3f93d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173957
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-09-26 07:11:35 +02:00
Michael Weghorn
22393b8f71 tdf#160837 macOS: Replace direct access to SalFrame::maGeometry
Replace direct access to the (currently still public)
SalFrame::maGeometry member in macOS code by using the
public getter SalFrame::GetUnmirroredGeometry, or
more specific getters for the height and width
(SalFrame::GetWidth, SalFrame::GetHeight).

Change-Id: Ic14fa480c58b09e5d0dd9ea7042d82c5f82c6eea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173956
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-09-26 07:11:28 +02:00
Michael Weghorn
460b113122 tdf#160837 vcl: Use getter to get frame geometry
Instead of directly accessing the (currently still
public) class member SalFrame::maGeometry, use the getter that
returns a const reference to it.

Change-Id: Iac7dd70b82160acba06d8016d94a1ac4380e779e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173955
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-09-26 07:11:21 +02:00
Michael Weghorn
0879fff079 tdf#160837 vcl: Use existing SalFrame::GetWidth
Call `SalFrame::GetWidth` instead of directly accessing
`SalFrame::maGeometry` and calling its `width()` method
to simplify and abstract a bit from the implementation
details in the callers.

Change-Id: I06f960c4984e57a728c301e10fc62a28a8af6199
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173954
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-09-26 07:11:15 +02:00
Michael Weghorn
7511fd100d tdf#160837 qt: Move logic for QPaintEvent handling to QtFrame
Add a new QtFrame::handlePaintEvent and move the
logic from QtWidget::paintEvent to the new method
and call the new method in QtWidget instead.

This decouples QtFrame and (its friend class) QtWidget
a bit more.

Change-Id: I974a55d8f967dd85c3dd98e2ac8e28fa53c38c77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173953
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-09-26 07:11:07 +02:00