Age | Commit message (Collapse) | Author |
|
Change-Id: Ia743818dc5aacbc11f41154692bbf79f32eeb50d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180232
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
The method returns the number of selected objects,
not just a bool indicating whether any (or a particular)
object is selected, other than the
SwFEShell::IsObjSelected variant that takes a
`const SdrObject&` param.
Rename the method to make that clearer.
Change-Id: I30afec5322d2e6f1d31e5bc0ca6c252faa1fb4d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180223
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Change-Id: I01f417f589393062afba2ffe0bbd07e7cf2e5344
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180018
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: Ic8409352e347d01fe5cc15458d18f612084cccab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178913
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Change-Id: Ide1f6fd2fc8a80b31353a14e416505a2349cea2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177071
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I22f4f4a0f2729b953669322eda803ce298eea236
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176202
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8fb0e61d48400d001cf6a3918c638bc087723288
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175985
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
A user's autotext was not examined unless there existed some
internal/shared autotext. There seems to be no particular reason
for that, except that internal/shared autotext happens to generally
be available.
Change-Id: I43a9fe5916d3a0895b175db52758104cc7fd65b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175959
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
and
cid#1607426 Overflowed constant
cid#1608151 Overflowed constant
cid#1608163 Overflowed constant
cid#1608208 Overflowed constant
cid#1608228 Overflowed constant
cid#1608299 Overflowed constant
cid#1608549 Overflowed constant
cid#1607982 Overflowed constant
cid#1608078 Overflowed return value
Change-Id: Id4ccc03b610f4dcf7912c239c7c079da1aef4ba2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173615
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
This change makes the two code paths consistent, that are used to paste
native ODF data into the Writer document: that uses own transferable in
usual copy/paste procedure; and that uses "foreign" clipboard data from
another Writer session. The path using own transferable already didn't
set document theme. This change passes the "IsInPaste" flag down to the
XML reader, to let the latter code path skip the theme when reading ODT.
Change-Id: I44d36e4583c58500febd647bb3def6421e585ed6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172688
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
drop the iterator wrapper, no longer necessary
Change-Id: I41697c062805c3fadd0210cffbc8f7beffe01f2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171472
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
merge IMark into MarkBase
Change-Id: I5d3c648c950f97497c96912c25081906de434056
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171464
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
and
cid#1556585 COPY_INSTEAD_OF_MOVE
cid#1556588 COPY_INSTEAD_OF_MOVE
cid#1556593 COPY_INSTEAD_OF_MOVE
cid#1556597 COPY_INSTEAD_OF_MOVE
cid#1556605 COPY_INSTEAD_OF_MOVE
cid#1556617 COPY_INSTEAD_OF_MOVE
cid#1556635 COPY_INSTEAD_OF_MOVE
cid#1556790 COPY_INSTEAD_OF_MOVE
cid#1556792 COPY_INSTEAD_OF_MOVE
cid#1556796 COPY_INSTEAD_OF_MOVE
cid#1556799 COPY_INSTEAD_OF_MOVE
cid#1556815 COPY_INSTEAD_OF_MOVE
cid#1556836 COPY_INSTEAD_OF_MOVE
cid#1556840 COPY_INSTEAD_OF_MOVE
cid#1556842 COPY_INSTEAD_OF_MOVE
cid#1556859 COPY_INSTEAD_OF_MOVE
cid#1556860 COPY_INSTEAD_OF_MOVE
cid#1556866 COPY_INSTEAD_OF_MOVE
cid#1556869 COPY_INSTEAD_OF_MOVE
cid#1556870 COPY_INSTEAD_OF_MOVE
Change-Id: I3df8698a4aecbb03999c084517e37e12ff46ee97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171435
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Open the bugdoc, navigate to the last para of the first page, enable
bullets for that paragraph, paste a one-liner plain text string, observe
a 274 ms hang.
Commit dc3e022866893d8c0950f2269c0c8d61c24ed9bf (cool#9504 sw: don't
invalidate num rules when pasting into a non-num paragraph, 2024-07-15)
already fixed a not needed invalidation when pasting plain text at a
non-list paragraph, but here the insert point is part of a list, so we
still invalidate.
Improve this further to also not invalidate when we paste a paragraph
which is part of a list, but the numbering type is a bullet, which again
doesn't need an invalidation.
If the invalidation still happens, then the LOK case still calcs the
entire layout in one go, that's not yet fixed here.
Change-Id: I97c92aebb67ba8ca66b5820943dc1550d62bb467
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170606
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
The bugdoc has ~300 pages of content, most of that is bullets, but
otherwise not complex, pasting a trivial string at doc end (which is not
a bulleted paragraph) takes a noticeable time:
debug:20449:20330: SwLayAction::InternalAction: start
debug:20449:20330: SwLayAction::InternalAction: end, took 268 ms
Profiling points out that we re-layout the internal document, which is
not expected: we just pasted on the first page, causing no layout change
on page 2 and later pages. Watching who turns on m_bInvalidContent on
the page frames, it can be noticed that SwReader::Read() invalidates all
numberings after pasting.
Fix the problem by not doing that in case we paste plain text and we
know the insertion point is not in a numbering: the invalidation is not
useful in this case and fixes the unexpected delay.
Other related ideas are 1) don't do the layout for all pages in one go
2) recognize that the bullets need no invalidation, unlike an actual
numbering with numbers. Neither of these are done in this commit yet.
Change-Id: Id7b2c022b31acb358f42ddd77195db70ae451109
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170499
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I4f4284b55d481caa006743688e6d83cc3c713b5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168601
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Re-arrange the calling convention to make it obvious that
a valid stream is the same as a good (true) result.
Change-Id: I974b023a8e7231e70ab649628fdbe43c33001e5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165874
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
It is really just an SvStream instance, and the lifetime does
not need reference counting
Change-Id: Idb5ffd96f852aae0dc1a94cddc0a83fbcdf974ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165655
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
And introduce methods in TransferableDataHelper to handle that.
Change-Id: I1d91f0f6b7e8523125f9cc1507dbd6737968f7d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165607
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
The events may be processed after the shell has been destroyed. This is
happening reliably after commit e2bfc34d146806a8f96be0cd2323d716f12cba4e
(Reimplement OleComponentNative_Impl to use IGlobalInterfaceTable,
2024-03-11) when controlling LibreOffice from external Java scripts; but
obviously, it could happen before as well.
Now SotObject inherits from cppu::OWeakObject, instead of SvRefBase.
Change-Id: I73a3531499a3068c801c98f40de39bdf8ad90b2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164458
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Regression from commit 7a8dc25defee31edbb75a2f8c35f92ee2d3f3a83 (sw lok:
simplify SwTransferable::isComplex(), 2021-02-23), in case as-char
imagse were part of a selection, we considered that complex, but at-char
was considered as simple, which is inconsistent.
This was not intentional, simply the rework to avoid copying the
selection to a temporary document lost this functionality.
Fix the problem by using CollectFrameAtNode() to find at-char images,
which tries to use the layout, so is not meant to be too slow.
An alternative would be sw::GetFlysAnchoredAt(), but that doesn't try to
use the layout, so avoid that.
Change-Id: I647d0f3934f9553de69afbf2de059631e2b5619c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164453
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
The "Next" methods are made static, just as "Prev" ones. Overloads
taking SwNodeIndex and SwPosition are implemented using a common
implementation function, to avoid code duplication.
Change-Id: I4035188b5c29d19824cd6d031e05d668d5cf1e86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163443
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
In `SwTransferable::RemoveDDELinkFormat`, only update the
clipboard content with this `SwTransferable` after removing
the `SotClipboardFormatId::LINK` from the supported formats
if the `SwTransferable` was the clipboard content before
already.
Doing so always would unrelatedly overwrite what was previously
copied from another application to the clipboard for the
tdf#158947 scenario of pasting clipboard content of another
application over a selection when using the Qt-based VCL plugins
on Wayland (s. backtrace below that shows how the clipboard content
was overwritten, frame #17 is the method changed in this
commit).
My assumption why the clipboard content is explicitly overwritten
at all is to make sure that the system clipboard on some platforms
gets notified about the change in supported formats/mime
types after removing one. But that isn't necessary when the
transfer data modified here aren't the current clipboard content
in the first place.
Backtrace for how clipboard content was previously overwritten
for the tdf#158947 scenario with the qt6 VCL plugin on Wayland:
~"#0 QtClipboard::handleChanged(QClipboard::Mode) (this=0x557f90457770, aMode=QClipboard::Clipboard) at .../libreoffice/vcl/qt6/../qt5/QtClipboard.cxx:156\n"
~"#1 0x00007f26f08844ff in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard::*)(QClipboard::Mode)>::call(void (QtClipboard::*)(QClipboard::Mode), QtClipboard*, void**)::{lambda()#1}::operator()() const (__closure=0x7ffe889a2c20) at .../qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:153\n"
~"#2 0x00007f26f0884ffb in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard::*)(QClipboard::Mode)>::call(void (QtClipboard::*)(QClipboard::Mode), QtClipboard*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard::*)(QClipboard::Mode)>::call(void (QtClipboard::*)(QClipboard::Mode), QtClipboard*, void**)::{lambda()#1}&&) (args=0x7ffe889a2ed0, fn=...) at .../qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:72\n"
~"#3 0x00007f26f088456f in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard::*)(QClipboard::Mode)>::call(void (QtClipboard::*)(QClipboard::Mode), QtClipboard*, void**) (f=(void (QtClipboard::*)(QtClipboard * const, QClipboard::Mode)) 0x7f26f087a76e <QtClipboard::handleChanged(QClipboard::Mode)>, o=0x557f90457770, arg=0x7ffe889a2ed0) at .../qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:152\n"
~"#4 0x00007f26f08833de in QtPrivate::FunctionPointer<void (QtClipboard::*)(QClipboard::Mode)>::call<QtPrivate::List<QClipboard::Mode>, void>(void (QtClipboard::*)(QClipboard::Mode), QtClipboard*, void**) (f=(void (QtClipboard::*)(QtClipboard * const, QClipboard::Mode)) 0x7f26f087a76e <QtClipboard::handleChanged(QClipboard::Mode)>, o=0x557f90457770, arg=0x7ffe889a2ed0) at .../qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:200\n"
~"#5 0x00007f26f0881f71 in QtPrivate::QCallableObject<void (QtClipboard::*)(QClipboard::Mode), QtPrivate::List<QClipboard::Mode>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x557f904555f0, r=0x557f90457770, a=0x7ffe889a2ed0, ret=0x0) at .../qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:571\n"
~"#6 0x00007f26efdb863f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (this=0x557f904555f0, r=0x557f90457770, a=0x7ffe889a2ed0) at .../qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:487\n"
~"#7 0x00007f26efe5772e in doActivate<false>(QObject*, int, void**) (sender=0x557f8d510fd0, signal_index=3, argv=0x7ffe889a2ed0) at .../qt5/qtbase/src/corelib/kernel/qobject.cpp:4116\n"
~"#8 0x00007f26efe4cdef in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=0x557f8d510fd0, m=0x7f26efa47cc0 <QClipboard::staticMetaObject>, local_signal_index=0, argv=0x7ffe889a2ed0) at .../qt5/qtbase/src/corelib/kernel/qobject.cpp:4176\n"
~"#9 0x00007f26eede9fcc in QClipboard::changed(QClipboard::Mode) (this=0x557f8d510fd0, _t1=QClipboard::Clipboard) at .../qt5/qtbase/src/gui/Gui_autogen/include/moc_qclipboard.cpp:182\n"
~"#10 0x00007f26eede9bc1 in QClipboard::emitChanged(QClipboard::Mode) (this=0x557f8d510fd0, mode=QClipboard::Clipboard) at .../qt5/qtbase/src/gui/kernel/qclipboard.cpp:558\n"
~"#11 0x00007f26eee4ed69 in QPlatformClipboard::emitChanged(QClipboard::Mode) (this=0x557f88019c20, mode=QClipboard::Clipboard) at .../qt5/qtbase/src/gui/kernel/qplatformclipboard.cpp:89\n"
~"#12 0x00007f26ed78809e in QtWaylandClient::QWaylandClipboard::setMimeData(QMimeData*, QClipboard::Mode) (this=0x557f88019c20, data=0x557f8fb87930, mode=QClipboard::Clipboard) at .../qt5/qtwayland/src/client/qwaylandclipboard.cpp:89\n"
~"#13 0x00007f26eede99de in QClipboard::setMimeData(QMimeData*, QClipboard::Mode) (this=0x557f8d510fd0, src=0x557f8fb87930, mode=QClipboard::Clipboard) at .../qt5/qtbase/src/gui/kernel/qclipboard.cpp:447\n"
~"#14 0x00007f26f087a5b5 in QtClipboard::setContents(com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> const&, com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboardOwner> const&) (this=0x557f8d50cbb0, xTrans=uno::Reference to (SwTransferable *) 0x557f90440118, xClipboardOwner=uno::Reference to (SwTransferable *) 0x557f90440120) at .../libreoffice/vcl/qt6/../qt5/QtClipboard.cxx:137\n"
~"#15 0x00007f26fb05bacc in TransferableHelper::CopyToClipboard(com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard> const&) const (this=0x557f904400f0, rClipboard=uno::Reference to (QtClipboard *) 0x557f8d50cc10) at .../libreoffice/vcl/source/treelist/transfer.cxx:942\n"
~"#16 0x00007f26fb05bc77 in TransferableHelper::CopyToClipboard(vcl::Window*) const (this=0x557f904400f0, pWindow=0x557f8932d1f0) at .../libreoffice/vcl/source/treelist/transfer.cxx:957\n"
~"#17 0x00007f26b5130940 in SwTransferable::RemoveDDELinkFormat(vcl::Window&) (this=0x557f904400f0, rWin=...) at .../libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:385\n"
~"#18 0x00007f26b51440ab in SwTransferDdeLink::DataChanged(rtl::OUString const&, com::sun::star::uno::Any const&) (this=0x557f8fb864e0) at .../libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:4447\n"
~"#19 0x00007f270120fa0e in sfx2::SvLinkSource::NotifyDataChanged() (this=0x557f8fb8bbe0) at .../libreoffice/sfx2/source/appl/linksrc.cxx:291\n"
~"#20 0x00007f26b43210ba in SwServerObject::SendDataChanged(SwPaM const&) (this=0x557f8fb8bbe0, rRange=SwPaM = {...}) at .../libreoffice/sw/source/core/doc/swserv.cxx:177\n"
~"#21 0x00007f26b43217c2 in SwDataChanged::~SwDataChanged() (this=0x7ffe889a3520, __in_chrg=<optimized out>) at .../libreoffice/sw/source/core/doc/swserv.cxx:308\n"
~"#22 0x00007f26b4233c8b in sw::DocumentContentOperationsManager::DeleteRangeImplImpl(SwPaM&, SwDeleteFlags) (this=0x557f8d2b8000, rPam=SwPaM = {...}, flags=SwDeleteFlags::Default) at .../libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4474\n"
~"#23 0x00007f26b4233826 in sw::DocumentContentOperationsManager::DeleteRangeImpl(SwPaM&, SwDeleteFlags) (this=0x557f8d2b8000, rPam=SwPaM = {...}, flags=SwDeleteFlags::Default) at .../libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4419\n"
~"#24 0x00007f26b4233681 in sw::DocumentContentOperationsManager::DeleteAndJoinImpl(SwPaM&, SwDeleteFlags) (this=0x557f8d2b8000, rPam=SwPaM = {...}, flags=SwDeleteFlags::Default) at .../libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4391\n"
~"#25 0x00007f26b421edb7 in (anonymous namespace)::lcl_DoWithBreaks(sw::DocumentContentOperationsManager&, SwPaM&, SwDeleteFlags, bool (sw::DocumentContentOperationsManager::*)(sw::DocumentContentOperationsManager* const, SwPaM&, SwDeleteFlags)) (rDocumentContentOperations=..., rPam=SwPaM = {...}, flags=SwDeleteFlags::Default, pFunc=(bool (sw::DocumentContentOperationsManager::*)(sw::DocumentContentOperationsManager * const, SwPaM &, SwDeleteFlags)) 0x7f26b4233632 <sw::DocumentContentOperationsManager::DeleteAndJoinImpl(SwPaM&, SwDeleteFlags)>) at .../libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:681\n"
~"#26 0x00007f26b42279df in sw::DocumentContentOperationsManager::DeleteAndJoin(SwPaM&, SwDeleteFlags) (this=0x557f8d2b8000, rPam=SwPaM = {...}, flags=SwDeleteFlags::Default) at .../libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:2367\n"
~"#27 0x00007f26b44a71f6 in SwEditShell::DeleteSel(SwPaM&, bool, bool, bool*) (this=0x557f8d51b300, rPam=SwPaM = {...}, isArtificialSelection=false, goLeft=false, pUndo=0x7ffe889a3be6) at .../libreoffice/sw/source/core/edit/eddel.cxx:122\n"
~"#28 0x00007f26b44a7671 in SwEditShell::Delete(bool, bool) (this=0x557f8d51b300, isArtificialSelection=false, goLeft=false) at .../libreoffice/sw/source/core/edit/eddel.cxx:164\n"
~"#29 0x00007f26b5604933 in SwWrtShell::DelRight(bool) (this=0x557f8d51b300, isReplaceHeuristic=false) at .../libreoffice/sw/source/uibase/wrtsh/delete.cxx:312\n"
~"#30 0x00007f26b512fe14 in (anonymous namespace)::SwTrnsfrActionAndUndo::SwTrnsfrActionAndUndo(SwWrtShell*, bool, SwPasteContext*) (this=0x557f9045b020, pS=0x557f8d51b300, bDelSel=true, pContext=0x7ffe889a4220) at .../libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:236\n"
~"#31 0x00007f26b51377c1 in SwTransferable::PasteData(TransferableDataHelper const&, SwWrtShell&, unsigned char, SotExchangeActionFlags, SotClipboardFormatId, SotExchangeDest, bool, bool, Point const*, signed char, bool, RndStdIds, bool, SwPasteContext*, PasteTableType) (rData=..., rSh=..., nAction=36 '$', nActionFlags=(SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl), nFormat=SotClipboardFormatId::HTML, nDestination=SotExchangeDest::SWDOC_FREE_AREA, bIsPasteFormat=false, bIsDefault=false, pPt=0x0, nDropAction=0 '\\000', bPasteSelection=false, nAnchorType=RndStdIds::FLY_AT_PARA, bIgnoreComments=false, pContext=0x7ffe889a4220, ePasteTable=PasteTableType::PASTE_DEFAULT) at .../libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:1768\n"
~"#32 0x00007f26b5137333 in SwTransferable::Paste(SwWrtShell&, TransferableDataHelper&, RndStdIds, bool, PasteTableType) (rSh=..., rData=..., nAnchorType=RndStdIds::FLY_AT_PARA, bIgnoreComments=false, ePasteTable=PasteTableType::PASTE_DEFAULT) at .../libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:1687\n"
~"#33 0x00007f26b52d29e9 in SwBaseShell::ExecClpbrd(SfxRequest&) (this=0x557f8db64330, rReq=...) at .../libreoffice/sw/source/uibase/shells/basesh.cxx:365\n"
~"#34 0x00007f26b52d1681 in SfxStubSwBaseShellExecClpbrd(SfxShell*, SfxRequest&) (pShell=0x557f8db64330, rReq=...) at .../libreoffice/workdir/SdiTarget/sw/sdi/swslots.hxx:2219\n"
~"#35 0x00007f27012d14dc in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) (this=0x557f8d4f46b0, rShell=..., rSlot=..., rReq=..., bRecord=true) at .../libreoffice/sfx2/source/control/dispatch.cxx:254\n"
~"#36 0x00007f27012d4b34 in SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) (this=0x557f8d4f46b0, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at .../libreoffice/sfx2/source/control/dispatch.cxx:753\n"
~"#37 0x00007f27012c05d4 in SfxBindings::Execute_Impl(SfxRequest&, SfxSlot const*, SfxShell*) (this=0x557f8d503240, aReq=..., pSlot=0x7f26b6cf5360 <aSwBaseShellSlots_Impl+1440>, pShell=0x557f8db64330) at .../libreoffice/sfx2/source/control/bindings.cxx:1057\n"
~"#38 0x00007f270139813d in SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) (this=0x557f8db682a0, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at .../libreoffice/sfx2/source/control/unoctitm.cxx:688\n"
~"#39 0x00007f2701395dbf in SfxOfficeDispatch::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x557f8db68200, aURL=..., aArgs=empty uno::Sequence) at .../libreoffice/sfx2/source/control/unoctitm.cxx:250\n"
~"#40 0x00007f26fe03d948 in svt::(anonymous namespace)::AsyncAccelExec::impl_ts_asyncCallback(LinkParamNone*) (this=0x557f8fb8e070) at .../libreoffice/svtools/source/misc/acceleratorexecute.cxx:508\n"
~"#41 0x00007f26fe03d869 in svt::(anonymous namespace)::AsyncAccelExec::LinkStubimpl_ts_asyncCallback(void*, LinkParamNone*) (instance=0x557f8fb8e070, data=0x0) at .../libreoffice/svtools/source/misc/acceleratorexecute.cxx:500\n"
~"#42 0x00007f26fab0db3b in Link<LinkParamNone*, void>::Call(LinkParamNone*) const (this=0x557f8fb8e110, data=0x0) at .../libreoffice/include/tools/link.hxx:111\n"
~"#43 0x00007f26fb469f3d in vcl::EventPoster::DoEvent_Impl(void*) (this=0x557f8fb8e108) at .../libreoffice/vcl/source/helper/evntpost.cxx:52\n"
~"#44 0x00007f26fb469f05 in vcl::EventPoster::LinkStubDoEvent_Impl(void*, void*) (instance=0x557f8fb8e108, data=0x0) at .../libreoffice/vcl/source/helper/evntpost.cxx:48\n"
~"#45 0x00007f26fadc2373 in Link<void*, void>::Call(void*) const (this=0x7f26e80153b8, data=0x0) at .../libreoffice/include/tools/link.hxx:111\n"
~"#46 0x00007f26fadbf458 in ImplHandleUserEvent(ImplSVEvent*) (pSVEvent=0x7f26e80153b0) at .../libreoffice/vcl/source/window/winproc.cxx:2287\n"
~"#47 0x00007f26fadc1385 in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (_pWindow=0x557f897d0e90, nEvent=SalEvent::UserEvent, pEvent=0x7f26e80153b0) at .../libreoffice/vcl/source/window/winproc.cxx:2851\n"
~"#48 0x00007f26f08b6bae in SalFrame::CallCallback(SalEvent, void const*) const (this=0x557f8800cf80, nEvent=SalEvent::UserEvent, pEvent=0x7f26e80153b0) at .../libreoffice/vcl/inc/salframe.hxx:310\n"
~"#49 0x00007f26f08d9dbf in QtInstance::ProcessEvent(SalUserEventList::SalUserEvent) (this=0x557f88020780, aEvent=...) at .../libreoffice/vcl/qt6/../qt5/QtInstance.cxx:516\n"
~"#50 0x00007f26fb47b97f in operator()() const (__closure=0x7ffe889a50e0) at .../libreoffice/vcl/source/app/salusereventlist.cxx:119\n"
~"#51 0x00007f26fb47bc53 in SalUserEventList::DispatchUserEvents(bool) (this=0x557f880207b8, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/source/app/salusereventlist.cxx:120\n"
~"#52 0x00007f26f08d98a4 in QtInstance::ImplYield(bool, bool) (this=0x557f88020780, bWait=true, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/qt6/../qt5/QtInstance.cxx:442\n"
~"#53 0x00007f26f08d9a4f in QtInstance::DoYield(bool, bool) (this=0x557f88020780, bWait=true, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/qt6/../qt5/QtInstance.cxx:464\n"
~"#54 0x00007f26fb5390d0 in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at .../libreoffice/vcl/source/app/svapp.cxx:390\n"
~"#55 0x00007f26fb539e6e in Application::Yield() () at .../libreoffice/vcl/source/app/svapp.cxx:474\n"
~"#56 0x00007f26fb538dc3 in Application::Execute() () at .../libreoffice/vcl/source/app/svapp.cxx:368\n"
~"#57 0x00007f2704e371b6 in desktop::Desktop::Main() (this=0x7ffe889a5c10) at .../libreoffice/desktop/source/app/app.cxx:1614\n"
~"#58 0x00007f26fb558292 in ImplSVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:229\n"
~"#59 0x00007f26fb5585a7 in SVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:261\n"
~"#60 0x00007f2704ea4307 in soffice_main() () at .../libreoffice/desktop/source/app/sofficemain.cxx:94\n"
~"#61 0x0000557f862d19d4 in sal_main () at .../libreoffice/desktop/source/app/main.c:51\n"
~"#62 0x0000557f862d19ba in main (argc=3, argv=0x7ffe889a5e38) at .../libreoffice/desktop/source/app/main.c:49\n"
2906^done
(gdb)
Change-Id: I1f517d441eeb3e77e969062b884d9a425038b22a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163202
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
All these methods don't modify the object, so
can use a const reference.
Change-Id: Ic30f84931358c61999ba27e0da303fdf4bb6f50a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162923
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I7ed5da9e06656bc658728b8e61b02f767ddd6bb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162750
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This enhancement provides the ability to insert cross-references by
drag and drop from the Navigator. It replaces the 'drag mode' way of
inserting a hyperlink, section link, and section copy with a popup
menu on drop that shows insert-as kinds available for the dragged
content type.
There is an oddity with X11 that on drop the mouse pointer does not
change from a drag pointer to a menu item select pointer for
approximately 5 seconds and during that time the popup menu items
can't be selected.
Change-Id: Id72cbdbd81106fc0e70784fcba7f1dd3a43ad81e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161575
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
Sorted out some methods at ItemPool which process
Defaults to make more clear what is going on and
what which method is doing.
Change-Id: I2568d3e03d0a56a14b6fe4e04521e1a8e22c000b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162643
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I8e9f157a399f1b305d2e6b6e63da837f0090fd8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159814
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
When we closed one view which previously copied some larger selection
in the Writer and other session after that modified content of that selection
we got a crash. It was caused by old clipboard data still beeing used.
On copy there is created SwTransferDdeLink which creates "Server" - SvLinkSource
which is notified in SwTransferDdeLink::DataChanged when someone is
editing
previously copied selection. Let's disconnect that server on view close
as it is no longer needed.
some characteristic trace pieces for crash:
libsofficeapp.so!LOKClipboard::setContents(LOKClipboard * this, const com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> & xTrans, const com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboardOwner> & xClipboardOwner)
...
libswlo.so!SwTransferable::RemoveDDELinkFormat(SwTransferable * this, vcl::Window & rWin)
...
libsfxlo.so!sfx2::SvLinkSource::NotifyDataChanged(sfx2::SvLinkSource * this)
...
libswlo.so!SwDataChanged::~SwDataChanged(SwDataChanged * this)
Change-Id: I2ebab3db8bc42e20781874802563352ef263fdaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159563
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159755
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
Change-Id: I4964abd34836438e3d24ee7c3c3b324f356477b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157746
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Selecting table rows by the left row border, and
moving them via drag & drop resulted only tracked
deletion, but not tracked insertion.
See also commit 3e6125c72f8c07c14df42d45571cab44f24e9f70
"tdf#155846 sw tracked table column: fix drag & drop".
This reverts also commit 5a1c19624eda0c8b847af0dcee70b82502578ceb
"tdf#146965 sw track changes: fix tracked table row moving".
Change-Id: I7287e46188eee123b5fd36a5ec7ac5311699840b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157382
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Selecting table columns by the top border, and
moving them via drag & drop resulted only tracked
deletion, but not tracked insertion.
See also commit 912336f3c85d9a631fa0ac0f270bab04b204f619
"tdf#154599 sw: fix crash at drag & drop table columns".
Change-Id: Ib392f0700ec8c17a342df435c8bb1883967b0711
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157370
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Enhancement to use the selected document text dropped on as the
hyperlink name for hyperlinks created by drag-and-drop from the
Navigator.
Change-Id: I6c458b24574cae28ab390644b8a3e1982675c4c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154508
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
Change-Id: I08a3382287dd30a6cee84e93b3aa8a97db4c3a76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150817
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
so we don't cause an unwanted Binding to be created unless we are forced
to.
Change-Id: Id78cbbb72ebd4e78b82a1ba614bbcb6488d04ce4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150769
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Only first selected column was moved, the other ones
were copied during drag & drop moving of table columns.
Regression from commit 5e8aa259e48d5602b932353bb146ebb523982cf2
"tdf#146967 sw table: fix freezing in Hide Changes mode".
Follow-up to commit 912336f3c85d9a631fa0ac0f270bab04b204f619
"tdf#154599 sw: fix crash at drag & drop table columns".
Change-Id: I31ca5b3d6004ed53c11a951fa184b9db48f21041
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150280
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
New code path for (tracked) row deletion resulted broken
column deletion, by deleting more columns at their
drag & drop, than needed.
Regression from commit 5e8aa259e48d5602b932353bb146ebb523982cf2
"tdf#146967 sw table: fix freezing in Hide Changes mode".
Change-Id: Ib649f5b534a588d192d27757e30c8f81087beb0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150132
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
they are all one or two words in size
Change-Id: I9a0f971d72c998c26e567c6abc2f9fe2a734207e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148338
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib57be7f076f4ec720d9d153034d00915a82e9ae7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147215
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ic38d95d7c50d5807c9c94cc0851422bb1c60912a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147214
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
various null checks can be seen to be redundant and removed
Change-Id: Icf49c1de4b0302795d2769a370af3abceaad0221
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147147
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
followup for "lok: don't limit line length in HTMLWriter"
Pretty printing makes html more readable for human but introduces
lots of new line marks which are later interpreted in the client
as a valid new lines in the document content.
This was causing multiplying the line breaks when inserting hyperlinks
where we read current selection's content and then we pass it back
to the core as link's content (with added new lines).
This change needs cypress change to not contain "\n" at the beginning
of some content read from the document.
This also afects copying from the online document to clipboard.
Change-Id: I2b17d62398d947fcf1d3fb1ed6005c3063d114f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136893
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141479
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
which leads us to find that we can skip all the dynamic_cast'ing
altogether in SwView_Impl
Change-Id: I8914f78df6bfdd743df370c0017d5b8521863594
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145483
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Pasting Calc tables into Writer tables uses temporary table
deletion, which never occured if change tracking was enabled,
resulting freezing. Fix this by disabling change tracking
during temporarily, also add a limit for other potential cases,
where it's not possible to delete the table.
Regression from commit 05366b8e6683363688de8708a3d88cf144c7a2bf
"tdf#60382 sw offapi: add change tracking of table/row deletion".
Change-Id: I57874fa658652b30fc78b267ab49a52d7277a838
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144946
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
restores various methods removed as unused since original
regression at
commit 4830a1bae89a8ed60696503e315ffd42c70dff74
Date: Thu May 30 16:12:23 2019 +0100
weld SwGlossaryDlg
Change-Id: I5c6186b9f45f3c0957926de2861eb6bc76dda73d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143363
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
to make it easier to optimise call sites unnecessarily creates tons of
these
Change-Id: I39bced82ae03fe33dbf0592f384332ab49f914fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142036
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ibefb8549834ba5011286e3221f1ae276e2c0c0bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141153
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which makes it easier to know what each variant requires
to stay on it's happy path
Change-Id: I3275a2543573367714bc78092e882f6535507285
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140469
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
TempFile already handles the stream. And not touching the URL
means we stay on the fast path for temp files.
Change-Id: I7e5f1cb7c83fc78d392c6874154563b64dd4a672
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140203
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Graphic is just a wrapper around shared_ptr, so no need to
allocate this separately
Change-Id: If4d6367d16d6ebc6c70c9cb39f8635ddaebccd72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139737
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|