This was for the moment removed from the online.git, so let's disable the API
bits too before it shows this is really necessary. Reverts also:
Revert "Lok: unittest batch API"
Change-Id: I7bf3fe62d1e73b6f233992d51f587868a78f4bec
For some reason this test fails on TinderBox and for others
while passing on Jenkins on all platforms.
This might be related to the compiler version used.
Disabling until resolved.
Change-Id: Ic05dbb290818506c78ceaa4c416fb00e8c0dc8da
Reviewed-on: https://gerrit.libreoffice.org/31607
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Rectangles that are empty (i.e. IsEmpty() returns true)
were incorrectly considered to mean equivalent to "EMPTY".
The latter means full-area, while the former mean zero-area.
This fixes the issue by restrict full-area to rectangles
with 2 billion units on the each side (roughly INT_MAX) or
more, and using this new check rather than IsEmpty().
Change-Id: I12aca17267f5dd33b2932012d1d9db3545f9af6f
Reviewed-on: https://gerrit.libreoffice.org/31458
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
STATE_CHANGED callback events that have the form
of name=value are only removed when newer ones
are identical. This is not very helpful since
often the same name (i.e. state type) changes
its value and we need to superseed older ones
with new values.
This patch makes sure that a STATE_CHANGED with
a given name has its latest value and doesn't
change multiple times while in the queue.
Change-Id: Ibfa18359464d7137411e5846b1c6d415a0aad43d
Reviewed-on: https://gerrit.libreoffice.org/31258
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
This removes the dialog used to show version information and
command line help on Windows. Now, selecting and scrolling becomes
possible, code is simplified and unified under all platforms.
Change-Id: Ia749bbb62d697eff655b3a646859c1986a023ec0
Reviewed-on: https://gerrit.libreoffice.org/31059
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
With this, 'make -sr CppunitTest_desktop_lib
CPPUNIT_TEST_NAME="DesktopLOKTest::testPaintPartTile
DesktopLOKTest::testWriterCommentInsertCursor" VALGRIND=memcheck'
finishes with 'ERROR SUMMARY: 0 errors from 0 contexts'.
The problem is that in sw/sc/sd code it's enough to make sure that the
on-stack ViewCallback instances are destroyed after the loaded
component, but in desktop/ code also the emit-callbacks-on-idle code is
under test, so we need to make sure first the LOK document wrapper is
destroyed, and only after that the ViewCallback instances are destroyed.
Change-Id: Ie8361233461d00fd252da929fb912a1a0b835c30
Reviewed-on: https://gerrit.libreoffice.org/30072
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
This reverts commit cdf08b3aa74bb32ea18b583a9c0c41b91d7819ac. It breaks
'make -sr CppunitTest_desktop_lib
CPPUNIT_TEST_NAME="DesktopLOKTest::testPaintPartTile
DesktopLOKTest::testWriterCommentInsertCursor" VALGRIND=memcheck' (it is
terminated by SIGSEGV), and also it's the reason why sometimes the
lo_ubsan buildbot fails, see e.g.
<http://ci.libreoffice.org/job/lo_ubsan/329/console>.
This has to be re-introduced once I find a way to process all binding
updates at once without side-effects.
Conflicts:
desktop/qa/desktop_lib/test_desktop_lib.cxx
sfx2/source/control/bindings.cxx
Change-Id: Id6c49b9b31095ef1a1a8c1cd92cbae5deb316500
The LOK callback objects registered are on-stack objects, so we must be
sure that references no longer used after we return.
Process idle events, so that desktop::CallbackHandler::flush() won't try
to use the reference after return.
Change-Id: I65d324cb9cef4fd1776d0f610d8d096717e0e833
Reviewed-on: https://gerrit.libreoffice.org/30034
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
And also address a few new warnings in sal, plus silence such warnings
in salhelper till we can't print typeids out of the box.
Change-Id: I38049146710b6885f6a874bf74eedbc38b4d4651
Reviewed-on: https://gerrit.libreoffice.org/29809
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Since desktop/ code queues, compresses and only emits callbacks on idle,
it's possible that two invalidations are in the queue, and there was a
setPart() call between them. In this case it's impossible to tell what
part the invalidation was sent for.
Fix this by conditionally including the part number in the invalidation
payload. It's off by default, a new feature flag is added to request
this behavior.
gtktiledviewer enables this feature flag by default, though just to show
the part number in the debug output. Android doesn't enable it.
Change-Id: I73e6def848c0eb61d64e71026002c7a0e750aab4
Views are expected to be more or less independent. So when one view
inserts a comment, don't emit cursor callbacks in the other views, so
that the other views don't jump to the comment position.
Change-Id: I5e4eadccef971dce2b7c759f3094f6d348d07645
Make sure SwVisibleCursor::SetPosAndShow() doesn't emit LOK callbacks
till a comment window is active.
Need to invoke the unit test from desktop/, as the sw tests have the
status bar disabled.
Change-Id: Iab26024e9bb4da9c939bbd6cf769ec5c4dcb9a19
and also expose it in the LOK API. This way clients don't have to keep
track of what views they created / destroyed, they can also get an up to
date list with this method.
Change-Id: Ibaee42c545803e04a31e7c13ab6ec370b99465c4
As this only returns the number of views, not the actual views. Since
it's a rename, it's just an API (but not an ABI) change.
Change-Id: Ib4f0ea56a90e5ae9c80ee1781aa2f29aff4259e7
If possible, switch views, not parts, that way started Impress text
edits don't end as a side-effect.
Change-Id: I3f18d4dda6bc24235bf1219416f153248a867fa4
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.
(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to
OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager();
in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)
Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
Unlike in Writer, there doesn't seem to be an existing UNO API that can
be reused here.
Change-Id: I011a2f34d4d09ad604991637322ceadf6b2eb181
Reviewed-on: https://gerrit.libreoffice.org/28498
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
A redline can have a manual comment and also an autogenerated
description, like "Insert 'abc'". Expose this later property as well, as
it provides useful additional information, especially when the comment
property is empty.
Change-Id: Id0f0ff62aef58d96b9b6071706c6f5b4a0d74800
So update the bindings of all views after changing it.
Change-Id: I5355f40ba27be521dcdf343b08305f3736979bbb
Reviewed-on: https://gerrit.libreoffice.org/28233
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Index is added as a property for each item, so that later changes can be
identified by the index when they are accepted/rejected.
Change-Id: I9362d208fdbed1f46d64558d44498d2b19150c81
Expose the undo/redo stack and the metadata of each item.
Change-Id: I66b81e855a945c97be3d491ed709959f310d4b73
Reviewed-on: https://gerrit.libreoffice.org/27905
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
This patch allows modifying open mode set in Office URI by using
LibreOffice usual command line arguments. For instance, if there is
-p "ofe:...", then the file won't be open for editing, but instead
will be printed.
Change-Id: I4bde9b6e1c0e92b63ee3834ee1fd8f6e1bd321f2
Reviewed-on: https://gerrit.libreoffice.org/27629
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This patch adds support for Office URI Schemes (see
https://msdn.microsoft.com/en-us/library/dn906146).
This will enable browser (non-CMIS) integration of LibreOffice
with MS SharePoint server (v.2013 tested).
In this patch, in addition to ms-* schemes, a new scheme is
introduced: vnd.libreoffice.command, which is analogous to ms-*.
Its purpose is to enable flexible configuration of server and
client, where some types of documents are declared as handled by
LibreOffice, and other are handled by other software. E.g., ODTs
may have "vnd.libreoffice.command" scheme, while DOCXs could be
"ms-word". Client may register LibreOffice to handle both, or to
handle only "vnd.libreoffice.command" scheme.
Unit test included.
TODO in a later patch: add a mechanism to register LibreOffice
to the schemes with OS.
Change-Id: I1c449a211102036f87163058a4c90a93eb32c948
Reviewed-on: https://gerrit.libreoffice.org/27094
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
...where the first component of the pair returned by the iterator would be
const, so an implicit conversion would be required.
Change-Id: I62b6ddd799261e1dd63ea5c42a85d8b071f8b8b7
Commit 45c2410041c48c22bd860efb42d4daadad7869b0 (LOK: change type of
view ids to uintptr_t, 2016-06-17) fixed the problem of view IDs being
reused for the price of random IDs, which makes debugging harder.
Implement a simple shellToView() function that makes sure view IDs are
not reused, and stop exposing view shell pointer addresses, which allows
reverting the LOK API change.
Change-Id: I63089e6de08ee7e1c7706757d43a11f6cf4d6e06
Reviewed-on: https://gerrit.libreoffice.org/26773
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
This fixes the following problem:
- createView() = 1
- createView() = 2
- destroyView(1)
and then view #2 was renumbered to 1.
Instead expose the pointer address of the SfxViewShell as the ID, which
is not changing in such a situation.
Note that the SfxViewShell <-> ID mapping is an implementation detail of
SfxLokHelper, and only pointers are converted to IDs, user-supplied IDs
are never converted back to pointers.
Change-Id: If79ef8b99ba391011b5d82b219ad13447d44cd5a
Reviewed-on: https://gerrit.libreoffice.org/26423
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
This will be important when in the per-view case
SwViewShell::libreOfficeKitCallback() won't be called anymore; as
pointed out by online.git's TileCacheTests::testSimpleCombine() test.
Change-Id: Ie68f8c51facdba127763df660e9220f820805ecc
Reviewed-on: https://gerrit.libreoffice.org/26372
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
In the pre-init stage the devices were initialized with no
font list, but later the font list is updated. So those devices
were not updated.
Change-Id: I157d4c7079f9b1252916eb92b512aadb8e77329f
Reviewed-on: https://gerrit.libreoffice.org/25419
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>