Age | Commit message (Collapse) | Author |
|
Promote Chapter = Move Chapter Up
Demote Chapter = Move Chapter Down
Promote Level = Promote Outline Level
Demote Level = Demote Outline Level
Promote/Demote List Level reversed (promote to left,
demote right)
Change-Id: Ia119d311b1cf99d1b07e008e54a3bd070b87410c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128722
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Change-Id: I34838bee7ad27bfd60d92c26af7eb2de508686b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128974
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
This patch reworks the "Manage Changes" dialog (In Writer, Edit > Track Changes > Manage) so that the buttons "Accept", "Accept all", "Reject", "Reject all" and "Undo" only appear in the List tab, since they're not needed in the Filter tab.
A help button is also added and HID constants are defined for both tabs.
Change-Id: I12da7811635dfc142d5d0a66d3275d3d170692e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128563
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
when field is in header/footer
Change-Id: Ic11f020655a863d05e638e55db6ab150ce4ad7c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128752
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
For OLE/Charts in SW we do not (yet) have a refresh
mechanism or embedding of the primitive represetation, so this
needs to be done locally here (simple solution).
To have the Chart already invalidated at the next repaint,
I needed to add a 'immediate' mode to InvalidateTable.
Note: The text there claiming that the framework should do this
is correct, but as long as the mechanism is incomplete (VC/VOC/OC
in SW) direct refresh is needed.
Change-Id: I3c845b3ec46fbb494e7bce163cfe105145421450
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128572
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
in favor of pushing it down to the text renderers and leave
it to them to optimized as best they can the the rendering
to make it look as well as possible.
the separate ScrArray can then be dropped as a consequence
Change-Id: Ic0849c091a36e1a90453771b1c91b8ff706b679e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128418
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
At the beginning of the import process for the various index entries,
try to determine the correct character set for the tox concordance file.
Change-Id: I3f48325a80ed08c2c06c295a24b2fc29ce1adf99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128194
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Jenkins
|
|
Rename getDropDownsFor() to getNoTextFieldmarksIn().
Move some code so that sw::mark::ExpandFieldmark can expand all
fieldmarks that use CH_TXT_ATR_FORMELEMENT.
Change-Id: I8a1e28fc0ad77df3a749d9e55c306cb45187a082
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128606
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
drop GlyphPositioningMode::ClassicInspired as that just demos the
tradeoffs of the original GlyphPositioningMode::Classic vs the chaos of
GlyphPositioningMode::PreferReadability where hinting at small sizes
pushes the text outside its layout bounds.
add GlyphPositioningMode::LayoutAndMatchRender to demo the next
option.
so:
GlyphPositioningMode::Classic This is as it ~always was, using the
technique documented at https://wiki.openoffice.org/wiki/Writer/WYSIWYG
GlyphPositioningMode::Layout This is just taking the high resolution
layout positions, dropping the "Classic" technique and let vcl do its
default scaling and rendering of the glyph positions as happens in
editeng.
GlyphPositioningMode::LayoutAndMatchRender same as Layout, but during
text render preserve the scaled glyph positions as floating point
positions and pass through to the various platform text renderers
configured as best to handle that.
Change-Id: Ic37bb8f3cf4472bdc3c48f02b1f9057a0f80cbd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128360
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
in Manage Changes dialog window, where deleted/inserted
tables and table rows were shown as multiple cell changes,
as a regression. Now a single table deletion/insertion or
deleted/inserted consecutive table rows are shown with a
single tree item in the dialog window instead of showing
multiple cell changes.
Add new Action icons to the tracked table row
insertion/deletion tree items (re-using table row
deletion/insertion icons).
Show cell changes as children of the single parent
item tracked table row change.
Accept/Reject and Accept/Reject All support
1-click acceptance or rejection of table (row) changes,
instead of clicking on all cell changes of a single
table (row) deletion/insertion.
Regression from commit c4cf85766453982f1aa94a7f2cb22af19ed100be
"sw: fix crash due to redlines on tables on ooo121112-2.docx".
Change-Id: Id03a8075cc6849b70a8d32e1a955b79e7d3a3246
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128314
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
SwSectionFormat no longer notifies via its SwModify to SwClient
listeners, but only via SvtBroadcaster, so SwSection and SwSectionFrame
need to be SvtListeners.
This can be seen when changing the footnote-at-end setting in the
section dialog, if the SwSection doesn't get the event the footnote
numbers aren't adapted to a new restart value, if the SwSectionFrame
doesn't get the event the footnote container isn't moved.
This is of course not pretty but hopefully it will be refactored further
in the future.
(regression from commit 2e32f4ed5af16a68c97a50806a42ffa2d10f1d7a)
Change-Id: I93c616e209a01fc5d4c8eba701a6ddce5d5b432e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128257
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
This is actually no longer inherited by accident since commit
2e32f4ed5af16a68c97a50806a42ffa2d10f1d7a because it replaced the
SwSectionFormat::Modify()->ModifyBroadcast()->CallSwClientNotify()->CallSwClientNotify()
with a call to GetNotifier()->Broadcast(), and apparently SwSection
is a SwClient of SwSectionFormat but not a SvtListener.
But some consider the new behaviour useful, as previously there was no
way to un-protect a section inside an outer protected section at all,
while in this way every section can have its own independent protection
flag. (The m_bEditInReadonlyFlag is not used for this purpose, as it is
only for the case when the document was loaded ReadOnly.)
So make it more explicit by removing the SwSection inheritance code.
A similar change was made for hidden flag in commit
91b0024965908c692bea40f47c58ea9d1bf8a596
Change-Id: I29d3c84309a84267573950775f2a1c6353623724
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128221
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
We don't need E3D_INVENTOR_FLAG, we can just check if the SdrObjKind is
in the right range.
Which exposes some dodgy code in DrawViewShell::GetMenuStateSel
SfxItemState::DEFAULT == rSet.GetItemState( OBJ_TITLETEXT ) ||
SfxItemState::DEFAULT == rSet.GetItemState( OBJ_OUTLINETEXT ) ||
which has been there ever since
commit f47a9d9db3d06927380bb79b04bb6d4721a92d2b
Date: Mon Sep 18 16:07:07 2000 +0000
initial import
just remove that.
In SwFEShell::ImpEndCreate() move some logic around to avoid
using an out-of-range SdrObjKind value
Change-Id: I4620bfe61aca8f7415503debe3c84bfe5f4368a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127763
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Previously, if you set the first line indent to auto, then if you change
the line height, the first line indent will also change. I do not see a
reason to change the first line indent value in case of change in line
spacing, even for English language.
Some languages (e.g. Chinese) may have set the auto first line indent
to be 2 characters of the current font, but if the first line indent
changes when line height changes, then this 2-character rule is not possible.
For compatibility with old documents, a compatability flag
'AutoFirstLineIndentDisregardLineSpace' is added in this patch, thus this
patch only has effect to new ODF documents. DOC/DOCX documents will also
benefit from this patch, no matter old or new, because, as Miklos Vajna
has pointed out, Word does not have the auto first line height feature.
Change-Id: I1e2ddc33cce4ff9b3b2b4122445894f724d5bcd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125627
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I1bc85e4c8ac4945e13063793203fd308526263a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127814
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
When pasting, the entire document body is covered by a delete redline.
The insert position is in the last node, following a table; table nodes
do hot have any connection to frames if they are hidden by redlines,
so MakeFrames() won't create frames for the inserted nodes.
Refactor SwNodes::FindPrvNxtFrameNode() so that it can detect that table
nodes are hidden in the current layout and continue to search in this
case.
For multiple layouts, MakeFrames() may need to use different nodes per
layout, as the "nearest" one in one layout may be hidden in another.
Change-Id: I3bb2c861c861438ac2695ab49dd91dc2bde87db4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127272
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I6bd606e8c70704cb716b1eb474934dedb54d81da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127270
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
writer does glyph position adjusting to try and split the difference of
the "printing" positions and "screen" positions.
it seems to have been there from the initial import
commit 84a3db80b4fd66c6854b3135b5f69b61fd828e62
Date: Mon Sep 18 23:08:29 2000 +0000
initial import
we seem to sync with the printing positions after each whitespace so
each initial glyph after whitespace is a stable position and is the
'printing' position while each following glyph is in a position which is
somewhere between the 'printing' position and 'screen' position. Which
leads to noticeably unstable positions of text during editing at various
zoom levels and without a clear rationale for the heuristic.
GlyphPositioningMode::Classic, the original mode which remains the
default.
GlyphPositioningMode::PreferLayout, takes the vcl provided print
positions and just uses those unmodified for screen layout like editeng
does.
GlyphPositioningMode::ClassicInspired, which is similar to
GlyphPositioningMode::Classic in using 'printing' positions for the
start of runs, but using 'screen' positions for run content.
GlyphPositioningMode::PreferReadability, replace the 'printing'
positions with the screen-optimized positions for all content.
use tools, options, writer, view, glyph positioning to change
Change-Id: I6677af973268bc586d825c7fbf0b483aaf651ca0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127089
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Fix Undo of accepting table row insertion to get back
the "false" value of HasTextChangesOnly property and the
associated light blue table row background.
This fixes also the missing update of the table row
background at accepting the table row insertion.
Follow-up to commit 8c028b7e41e3d350d0e67005b16faf0159cc5c12
"tdf#146244 sw: update HasTextChangesOnly in modified rows".
Change-Id: I8e2436b6b7b67f06037481955ff22cdbc2b22dc0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127228
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Except "getSeletedPositionStart" and "getSeletedPositionEnd" defined in offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl
since e5618f1707626a8c096ea2ca8da3cbe2c5f3db16
author Steve Yin <steve_y@apache.org> 2013-11-16 23:58:19 +0100
committer Michael Meeks <michael.meeks@collabora.com> 2013-11-19 10:02:25 +0000
commit e5618f1707626a8c096ea2ca8da3cbe2c5f3db16 (patch)
tree de014d37b3de5a7ab505a86a6e6ce46ade4bdc1f
parent 1263b20f56d896706c982ad1b91d2936abf5d617 (diff)
Integrate branch of IAccessible2
Change-Id: I814923003bb247c4ef66f296ac4033bae9073988
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127227
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
This is a squashed commit containing set of changes:
* Create a input field from sdt text block.
* Advanced support for reading field data from data bindings
which can point to custom xml or properties xml. For this
XOOXMLDocumentPropertiesImporter idl interface was extrended
with extra getterrs to get properties as xml dom elements.
* Support for exporting of this feature back to docx. For this
some extra parameters for sdt block are kept in newly introduced
grabbag for input fields. If field does not contain grabbag it
being exported as before (FILLIN or whatsoever), otherwise
sdt block is counstructed based on data from grabbag.
* Basic support for updating custom xml values back into
custom xmls with usage of xslt transformations. To achieve
this extra parameters were introduced to XXSLTTransformer:
now it is able to support in-memory transformation stylesheets.
Some unittests were corrected: since sdt plain text edit area is
a field located inside paragraph in outout corresponding sdt is
also located inside paragraph (instead of Word's approach with
paragraph inside sdt). Seems this is not critical.
Change-Id: I1a73ef300db3619804f7adf18579bea708764c14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127015
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: I66feced8bed05c7859e36a6d2f746a7faf30c7a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126915
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Use layout in MakeRefNumStr() when checking if node is numbered,
because a hidden node has a null SwNodeNum.
(regression from ae246b44da1708417aaaefe4f9186cfbbb9a9137)
Change-Id: Iea797c03018929601ea797f00e3cf2d7749e55ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126857
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
A new UNO property has been added and implemented
for the filters. This provides the possibility of
assigning textboxes in the filter at import time via UNO.
Follow-up to commit e5650de86072b9db586a4532b5239acda77598c4
"tdf#143574 sw: textboxes in group shapes - part 3 take 2".
Change-Id: I58c445cb7f6d865c1d82dbe68f985e4c11ff832e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126162
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
In this part, missing parameters have been fixed, and
queryInterface method can handle textbox groups now.
A new function, synchronizeGroupTextBoxProperty has been
introduced to do the sync for all group members. Nested
group textbox shape handling also has been introduced.
Note: Copy still has issues.
Change-Id: I3d2090fe6a4066edfd2cb417b30bca9dd9acb011
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126052
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I61fe51e95c629adcf90a9ea3d1783380039fdd5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126661
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
because its solely used to track if an event was posted to delete the
annotation
Change-Id: I7c6458475e967b8f313f1a770946c0db65561434
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126624
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Showing "Row Deleted" and "Row Inserted" with Author and
Date (of the associated SwRangeRedline: latest tracked deletion
in deleted rows, and first tracked insertion in inserted rows).
Follow-up to commit c6af542a31e167e5a01908d049e399ce06a5e4e4
"tdf#146120 sw: show tracked table changes with different color"
and
Change-Id: I913e234de1a60311306fbebdfb1ae16dcea7cd8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126575
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
and remove some unused defines
Change-Id: Ie560fccb674568ba88175d2e68ca83b92cfcf312
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126544
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I583f2a23b7912e48889b49a0dce0f4681ef45566
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126543
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In Change Tracking, show deleted table rows in cyan and
inserted rows in pink. In this case, don't show original
table row or cell background.
Follow-up to commit f481c2c8e74bded11fac754e493560391229dbcd
"tdf#144057 sw track changes: hide deleted table rows".
Change-Id: Ib9cc411b62b92bc8a83dda7589f3e798f7e96f41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126482
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: Ic1ba90447575278d854af85312271c41766b776b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126422
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This adds a "image preferred DPI" document setting, which is used
as a suggestion of the DPI that an image should have in the
document. This is currently used when the image is inserted into
the document (Writer, Impress/Draw) to resize it to the preferred
DPI value.
Change-Id: I3ee9d409257e3c6aa2ead05144ecbba7b3b916f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126334
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ic0c479e97b7a5f6fcc7f7eb454eb77a5c47de9db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126191
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Charts were already updated, it was not consistent that other embedded
objects are not updated.
This is especially useful if an ODT file is manipulated by a 3rd-party,
then loaded into Writer just to update the previews of OLE objects.
Change-Id: If61aa037739c593abade933dcdd5474ad566b3e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126253
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Icb194de0521bf60f3db623c35e695afc3a3edbcc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125982
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The SwSectionNode has an SwSection, which is registered in an
SwSectionFormat, which finally tells us if it's a protected one.
Change-Id: Ie46c516f900f1c479c11cbbaf061973400614a2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126151
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Add compatibility option FOOTNOTE_IN_COLUMN_TO_PAGEEND to keep layout
of old ODT files, where multicolumn sections have footnotes in columns,
growing sections to the full page.
Note: Multicolumn page styles or not evenly distributed multicolumn
sections, or footnotes not collected at the end of the sections still
use footnotes in columns, so they don't need this compatibility option.
Follow-up to commit 4c31b4ef2083087a822c3ae648fd09acc67d2f88
"tdf#139336 sw: fix extra pages of multicolumn sections with footnotes".
Co-authored-by: Tibor Nagy (NISZ)
Change-Id: I7d6a1f804b555dc5372767014b8fb5e3fa57ba9b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125442
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
This reverts commit eabcfb3f18a6944d9ad89cecd3eb3ca7a2259cf3.
Conflicts:
sw/source/core/doc/textboxhelper.cxx
It caused UITest_writer_tests4 to fail in an ASan build with
> ==2987325==ERROR: AddressSanitizer: heap-use-after-free on address 0x6130000e5048 at pc 0x7f20cb3112ac bp 0x7f1e62de92d0 sp 0x7f1e62de92c8
> WRITE of size 8 at 0x6130000e5048 thread T47
> #0 in SwFrameFormat::SetOtherTextBoxFormat(SwTextBoxNode*) at sw/inc/frmfmt.hxx:106:77
> #1 in SwTextBoxNode::~SwTextBoxNode() at sw/source/core/doc/textboxhelper.cxx:1680:30
> #2 in SwFrameFormat::~SwFrameFormat() at sw/source/core/layout/atrfrm.cxx:2564:9
> #3 in SwDrawFrameFormat::~SwDrawFrameFormat() at sw/source/core/layout/atrfrm.cxx:3455:1
> #4 in SwDrawFrameFormat::~SwDrawFrameFormat() at sw/source/core/layout/atrfrm.cxx:3453:1
> #5 in SwFrameFormats::DeleteAndDestroyAll(bool) at sw/source/core/doc/docfmt.cxx:2115:9
> #6 in SwDoc::~SwDoc() at sw/source/core/doc/docnew.cxx:565:28
> #7 in SwDoc::release() at sw/source/core/doc/doc.cxx:118:9
> #8 in rtl::Reference<SwDoc>::clear() at include/rtl/ref.hxx:196:19
> #9 in SwDocShell::RemoveLink() at sw/source/uibase/app/docshini.cxx:444:16
> #10 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:372:5
> #11 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
> #12 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
> #13 in SvRefBase::ReleaseRef() at include/tools/ref.hxx:163:29
> #14 in tools::SvRef<SfxObjectShell>::~SvRef() at include/tools/ref.hxx:56:36
> #15 in IMPL_SfxBaseModel_DataContainer::~IMPL_SfxBaseModel_DataContainer() at sfx2/source/doc/sfxbasemodel.cxx:245:5
> #16 in void std::destroy_at<IMPL_SfxBaseModel_DataContainer>(IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/stl_construct.h:88:15
> #17 in void std::allocator_traits<std::allocator<IMPL_SfxBaseModel_DataContainer> >::destroy<IMPL_SfxBaseModel_DataContainer>(std::allocator<IMPL_SfxBaseModel_DataContainer>&, IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/alloc_traits.h:537:4
> #18 in std::_Sp_counted_ptr_inplace<IMPL_SfxBaseModel_DataContainer, std::allocator<IMPL_SfxBaseModel_DataContainer>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:528:2
> #19 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:168:6
> #20 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:705:11
> #21 in std::__shared_ptr<IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1154:31
> #22 in std::__shared_ptr<IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2>::reset() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1272:9
> #23 in SfxBaseModel::dispose() at sfx2/source/doc/sfxbasemodel.cxx:757:13
> #24 in SwXTextDocument::dispose() at sw/source/uibase/uno/unotxdoc.cxx:549:19
> #25 in SfxBaseModel::close(unsigned char) at sfx2/source/doc/sfxbasemodel.cxx:1482:5
> #26 in SwXTextDocument::close(unsigned char) at sw/source/uibase/uno/unotxdoc.cxx:562:19
> #27 in SfxBaseModel::dispose() at sfx2/source/doc/sfxbasemodel.cxx:718:13
> #28 in SwXTextDocument::dispose() at sw/source/uibase/uno/unotxdoc.cxx:549:19
> #29 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) at bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:77:5
> #30 in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, _typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*, void*, void**, _uno_Any**) at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:233:13
> #31 in unoInterfaceProxyDispatch at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:413:13
> #32 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny> >*) const at binaryurp/source/incomingrequest.cxx:235:13
> #33 in binaryurp::IncomingRequest::execute() const at binaryurp/source/incomingrequest.cxx:78:26
> #34 in request at binaryurp/source/reader.cxx:85:9
> #35 in cppu_threadpool::JobQueue::enter(void const*, bool) at cppu/source/threadpool/jobqueue.cxx:100:17
> #36 in cppu_threadpool::ORequestThread::run() at cppu/source/threadpool/thread.cxx:164:31
> #37 in threadFunc at include/osl/thread.hxx:189:15
> #38 in osl_thread_start_Impl(void*) at sal/osl/unx/thread.cxx:264:9
> #39 in start_thread at <null>
> #40 in __GI___clone3 at <null>
>
> 0x6130000e5048 is located 328 bytes inside of 376-byte region [0x6130000e4f00,0x6130000e5078)
> freed by thread T47 here:
> #0 in operator delete(void*, unsigned long) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:164:3
> #1 in SwFlyFrameFormat::~SwFlyFrameFormat() at sw/source/core/layout/atrfrm.cxx:2912:1
> #2 in SwFrameFormats::DeleteAndDestroyAll(bool) at sw/source/core/doc/docfmt.cxx:2115:9
> #3 in SwDoc::~SwDoc() at sw/source/core/doc/docnew.cxx:565:28
> #4 in SwDoc::release() at sw/source/core/doc/doc.cxx:118:9
> #5 in rtl::Reference<SwDoc>::clear() at include/rtl/ref.hxx:196:19
> #6 in SwDocShell::RemoveLink() at sw/source/uibase/app/docshini.cxx:444:16
> #7 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:372:5
> #8 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
> #9 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
> #10 in SvRefBase::ReleaseRef() at include/tools/ref.hxx:163:29
> #11 in tools::SvRef<SfxObjectShell>::~SvRef() at include/tools/ref.hxx:56:36
> #12 in IMPL_SfxBaseModel_DataContainer::~IMPL_SfxBaseModel_DataContainer() at sfx2/source/doc/sfxbasemodel.cxx:245:5
> #13 in void std::destroy_at<IMPL_SfxBaseModel_DataContainer>(IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/stl_construct.h:88:15
> #14 in void std::allocator_traits<std::allocator<IMPL_SfxBaseModel_DataContainer> >::destroy<IMPL_SfxBaseModel_DataContainer>(std::allocator<IMPL_SfxBaseModel_DataContainer>&, IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/alloc_traits.h:537:4
> #15 in std::_Sp_counted_ptr_inplace<IMPL_SfxBaseModel_DataContainer, std::allocator<IMPL_SfxBaseModel_DataContainer>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:528:2
> #16 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:168:6
> #17 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:705:11
> #18 in std::__shared_ptr<IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1154:31
> #19 in std::__shared_ptr<IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2>::reset() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1272:9
>
> previously allocated by thread T10 here:
> #0 in operator new(unsigned long) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:95:3
> #1 in SwDoc::MakeFlyFrameFormat(rtl::OUString const&, SwFrameFormat*) at sw/source/core/doc/docfmt.cxx:756:33
> #2 in SwDoc::MakeFlySection_(SwPosition const&, SwContentNode const&, RndStdIds, SfxItemSet const*, SwFrameFormat*) at sw/source/core/doc/doclay.cxx:171:33
> #3 in SwDoc::MakeFlySection(RndStdIds, SwPosition const*, SfxItemSet const*, SwFrameFormat*, bool) at sw/source/core/doc/doclay.cxx:337:19
> #4 in SwXFrame::attachToRange(com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&, SwPaM const*) at sw/source/core/unocore/unoframe.cxx:2821:29
> #5 in SwXFrame::attach(com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) at sw/source/core/unocore/unoframe.cxx:3115:9
> #6 in SwXTextFrame::attach(com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) at sw/source/core/unocore/unoframe.cxx:3346:15
> #7 in SwXText::insertTextContent(com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&, com::sun::star::uno::Reference<com::sun::star::text::XTextContent> const&, unsigned char) at sw/source/core/unocore/unotext.cxx:615:15
> #8 in SwXText::insertTextContentWithProperties(com::sun::star::uno::Reference<com::sun::star::text::XTextContent> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) at sw/source/core/unocore/unotext.cxx:1472:5
> #9 in non-virtual thunk to SwXText::insertTextContentWithProperties(com::sun::star::uno::Reference<com::sun::star::text::XTextContent> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) at sw/source/core/unocore/unotext.cxx
> #10 in SwTextBoxHelper::create(SwFrameFormat*, SdrObject*, bool) at sw/source/core/doc/textboxhelper.cxx:100:29
> #11 in SwXShape::setPropertyValue(rtl::OUString const&, com::sun::star::uno::Any const&) at sw/source/core/unocore/unodraw.cxx:1165:25
> #12 in SdXMLShapeContext::SetStyle(bool) at xmloff/source/draw/ximpshap.cxx:701:27
> #13 in SdXMLCustomShapeContext::startFastElement(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) at xmloff/source/draw/ximpshap.cxx:3545:5
> #14 in SvXMLImport::startFastElement(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) at xmloff/source/core/xmlimp.cxx:805:15
> #15 in (anonymous namespace)::Entity::startElement((anonymous namespace)::Event const*) at sax/source/fastparser/fastparser.cxx:468:27
> #16 in sax_fastparser::FastSaxParserImpl::callbackStartElement(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, unsigned char const**) at sax/source/fastparser/fastparser.cxx:1304:21
> #17 in (anonymous namespace)::call_callbackStartElement(void*, unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) at sax/source/fastparser/fastparser.cxx:331:18
> #18 in xmlParseStartTag2 at workdir/UnpackedTarball/libxml2/parser.c:9658:6
> #19 in xmlParseTryOrFinish at workdir/UnpackedTarball/libxml2/parser.c:11453:14
Change-Id: I752190e05fc3c282b75021724527f623f56ee6a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125977
Tested-by: Jenkins
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...since 7d3aadce8d184f72e4785827ad706d27c31a2edb "ofz#41398 drop a para
scheduled for deletion if something else deletes it", causing e.g.
CppunitTest_chart2_export to fail with
> [_RUN_____] Chart2ExportTest::testStockChart
[...]
> warn:sal.osl:1981149:1981149:sal/osl/unx/module.cxx:155: dlopen(/home/sbergman/lo/core/instdir/program/libmswordlo.so, 257): /home/sbergman/lo/core/instdir/program/libmswordlo.so: undefined symbol: _ZTIN2sw16LegacyModifyHintE
> warn:sfx.doc:1981149:1981149:sfx2/source/doc/sfxbasemodel.cxx:3147: Storing has failed, no error is set!
> unknown:0:Chart2ExportTest::testStockChart
>
> An uncaught exception of type com.sun.star.io.IOException
> - SfxBaseModel::impl_store <file:///home/sbergman/lo/tmp/Chart2ExportTest__testStockChart_4rivgy.tmp> failed: 0xc10(Error Area:Io Class:Write Code:16) /home/sbergman/lo/core/sfx2/source/doc/sfxbasemodel.cxx:3194 /home/sbergman/lo/core/sfx2/source/doc/sfxbasemodel.cxx:1775
Change-Id: I47ce1c10b7757b27e4279f35d59e34d5312c8b07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125945
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
The problem was that we don't allow even opening embedded objects in
protected sections, which means the content of multi-page embedded
objects can't even be viewed in protected sections, which probably goes
too far.
Fix this relaxing the condition in SwEditWin::MouseButtonDown() to allow
launching the OLE object on double-click, and then make sure that the
native data is not updated in SfxInPlaceClient_Impl::saveObject() and
the replacement image is not updated in
svt::EmbedEventListener_Impl::stateChanged().
This is complicated by only the Writer layout knowing if a given OLE
object is anchored in a protected frame, so pass down a callback to
sfx2/ and svtools/ to check if the OLE object is protected.
Not copying the protected bit has the benefit of behaving correctly if
the section turns into non-protected: copying would not work properly,
as SfxInPlaceClient is created on demand, so not re-created when the
protectedness of the section is changed.
Change-Id: Ib3a8f2092d27dc1ebd3ef355c95a4a473988b163
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125815
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Grouping/ungrouping nested groups works now.
Manual test:
1. Insert Shape.
2. Right-click on selected shape, Add Text Box (and some text).
3. Insert a new shape.
4. Select and group the two shapes.
3. Insert a third shape.
4. Select and group the shape and the previously grouped shapes.
The text box remains in the nested shape group.
Details:
1) tdf#144271 memory leak of SwTextBoxHelper, by replacing the
textbox structure vector with std::unordered map, and rethinking
of the ownership of the objects. If a SwFrameFormat dies, and that
is a FLYFRMFMT, it will be deleted from the textbox node and the
FrameFormat table in the doc too, and the drawing will be stay as
it was before. If the dying format is a drawing, all the textboxes,
and the node will be deleted.
2) Introducing the new UNO property TextBoxContent, which is needed
for writerfilter/xmloff later to set a new textbox for the shape
via UNO.
3) Missing parameters are present now for syncing the textbox
parameters.
4) Introducing a new function namely the handleGroupTextBox() to
do the tasks simply with all textboxes in a group shape.
This can handle nested groups as well (group in a group).
Known issues: now copy of nested group objects is implemented
but not enabled, because it causes an assert.
Change-Id: I931886eda01c7a3db93098de10f5e5f48f2f217b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124657
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Recognize moved text by accessing to the hidden redline content
pContentSect during ODT import (in the case of Delete redlines)
and ChangesInMargin mode (Delete or Insert redlines depending on
Deletion in Margin or Insertion in Margin modes).
Fix Undo and redline stack handling by moving IsMoved bit to
SwRedlineData from SwRangeRedline.
Note: .fodt format is applicable for the unit test document,
because it's not affected by the problem.
Change-Id: Ifd4f993520bec4b845d978a844c465509ea87b50
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125552
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
... and SwZoomControl
See tdf#94879 for motivation.
Change-Id: I74f31e45a8c215d406371a23b64d548fbb851d28
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125641
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
For Moved (deletion) and Moved (insertion) text changes,
add new Action icons to Manage Changes dialog window
(Edit->Track Changes->Manage...), re-using existing
Cut and Paste icons.
Follow-up to commit 970f8ec7c8eb6007181ce55d885eef771dd49cc6
"tdf#145721 sw track changes: sign text moving in redline tooltips".
Change-Id: Ic202538ec31963e5e27170c7e5ea819a7f2bde9b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125445
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Write "Moved (deletion)" and "Moved (insertion)" instead of
"Deleted" and "Inserted" in tooltip of tracked text movings.
Follow-up to commit f51fa7534421a195a58b4a737a2e836d8c25ba81
"tdf#145718 sw, DOCX import: complete tracked text moving"
Change-Id: I5db3025ddb7b4758e3699c10971a765784555a20
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125405
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Add IsMoved bit to SwRangeRedline, and keep it in both
parts of a split Delete/Insert redline. Set this bit
during DOCX import, fixing incomplete import of
moveFrom/moveTo elements.
Details:
- Search text moving only at redline Insert() and AppendRedline()
instead in the layout code (which was much slower, because
triggered by also mouse hovering):
- detect text moving in Hide Changes mode, too;
- Insertion inside or directly after tracked text moving keeps
"moved text" layout of the original moved text parts (before
and after the insertion).
- at detection of text moving, invalidate (update) layout of the
redline pair, too.
- fix DOCX import: extend makeRedline() with property RedlineMoved
to keep all moveFrom/moveTo stored in DOCX instead of
losing them (joining them with normal redlines) in the case
of missing Delete/Insert pair (see unit test document);
Follow-up to commit ec577f566fa3e6d2666069180f8ec8474054aea9
"tdf#145233 sw track changes: show moved text in green color",
commit bcdebc832b272662d28035007a4796e42d1305ae
"tdf#104797 DOCX change tracking: handle moveFrom and moveTo"
and commit d32d9a2b3c5e3963f4a18f6c7bbf50fab2e9b2be
"tdf#123460 DOCX track changes: moveFrom completely".
Change-Id: Iaca80e5e326a172bc7ba5fec64b63668b9378e2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125317
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I320d84901368f0586a113fd2afe1cb6a5eb19b11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125320
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
obsoleted by 6080259862ee9886d1dabcb7c06132268a398cc6
Change-Id: I246dc6050fe7adf60ab3c836db3cfa781578d483
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125142
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I73921e43e7e955793493e2accab4e3799cfd121c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125221
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|