Otherwise, it causes error log:
ERR Cannot save docKey [/filename], the .uno:Save has failed in LOK.
Change-Id: Ic99807848def72f76471c4f999ebeed9a7c0a2c8
Now with the "Unipoll" concept all this locking is unnecessary as the
kit process is single-threaded, and actually it is harmful as the bug
shows.
Michael explains in chat:
But in fact - we should be a single threaded kit process there now. We
are protected by the solar-mutex (which is recursive) while our
locking is not. This was the whole point of the Unipoll refactor: to
remove the extra threads, complex queues, etc. etc. I just left the
mutexes. Even a recursive mutex won't work there; since it needs to be
drop-able and transferable to another (LOK internal thread) in Yield,
so - we should remove them.
Change-Id: I7d1e1dfb0e20f14134be5f81da057539b0f86ab9
Reviewed-on: https://gerrit.libreoffice.org/75849
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
The list of font sizes was taken from the font info. This causes
problems when the document uses a font which is not available on the system.
As there is no obvious reason, why the list of font sizes should depend on the font
(and update with every font change), remove this dependency and just populate
the list of fonts once.
If the document uses a font size which is not in the list, it still will be added to
the font size list.
Change-Id: I4d434244b341c8e782138e5a6df85a50ddad3df5
Reviewed-on: https://gerrit.libreoffice.org/75959
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Without this, the first start was failing, there was only a black screen
and the request for permission.
Change-Id: I7929048ca51b044dcb574f48bd2b7bc9a27e0ec8
First of all, we shouldn't destroy the document in onStop(), instead do
that in onDestroy(). onStop() should only (auto-)save the document, but
otherwise keep it open, so that when we return from the file picker
Activity, the caret is at the same position as it was before.
In addition to that, we should close any open document before we try to
open the new one (in createLOOLWSD).
And finally, when closing the document, we should wait until after the
LOOLWSD is completely torn down, so that we avoid the risk that the user
tries to load another document too quickly, and the messages from the JS
go into the old, still running LOOLWSD.
Change-Id: Ib775021bccc5d5bc69aae392a88dc62a7c05a8fa
Sometimes when closing & reloading a document, the JS ended up with:
cmd=/storage/0/...document_name... type=unknown
error. The problem was that the HULLO response came later than the next
message in the queue which was
loolclient 0.1
So LOOLWSd tried to load the document called "loolclient 0.1", which
failed, and then it did not know what to do with the "/storage/0/..."
which it understood as a command.
Seems we don't need to send the stuff from a thread on Android, so let's
avoid that, instead of setting up another sender queue here.
Change-Id: I96b4ad13153f1cad6aeb7fc71efcb402edbdc6d2
This way, it is more naturally visible what is the actuall app (with the
initial recent documents / file picker) and the editing part.
Change-Id: Ia764f2900939e980f703e3da9f9abd6c0aee7cbb
follow up:
"create Map.CalcTap handler when initialize L.Map"
remove init in Socket.js which was include in the
original commit
Change-Id: If26278dc655ff4434bce0ca21d4b63623f2cdd17
In order to reuse code to handle drag and drop, it is necessary to
handle without listening the drag events. The Hammer library has an
event called "swipe" and it can be used to simulate drag and drop.
Change-Id: I1ed4e9422cd9bd98bdede88f2c994bdbba4adc4c
They are huge and fontconfig has real trouble indexing / creating the
cache on the 1st start.
This reduces the startup time by nearly a minute (on my phone).
Change-Id: I85abd541251ab949c3c29c4df5fb95ce28f5634c