comphelper::AsyncEventNotifier is an amazing class that dispatches
events in separate threads, no doubt implemented during times of
exuberant optimism about the tractability of shared-state
multi-threading.
Unfortunately the authors forgot to think about how all those awesome
threads will be joined, so if they are somehow blocked, then it may well
happen that the events are dispatched when the main thread is already in
DeInitVCL, and the objects required for the dispatching already smell
somewhat funny.
This happens quite reproducibly when changing dbaccess' ModelMethodGuard
to lock the SolarMutex too, then CppunitTest_dbaccess_RowSetClones
crashes in DeInitVCL() because one AsyncEventNotifier thread was blocked
until then by SolarMutexGuard, and this test never Yields once its
document is loaded.
Try to fix this by joining the "DocumentEventNotifier" threads from
DeInitVCL() itself.
Since there's no rtl::WeakReference to go with rtl::Reference, refactor
the AsyncEventNotifier and create a new AsyncEventNotifierAutoJoin
that has to be used with std::shared_ptr and std::weak_ptr.
Change-Id: I50a0749795acb04b0776e543f7125767b697ea35
Reviewed-on: https://gerrit.libreoffice.org/27581
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
there still isn't enough space for it in writer, but at least
what is there can be read.
I'd love to get this info out of the status bar and into some
overlay shown in the selection when moving the object.
Change-Id: I688690a57253d3774c06f5edcb0931503c6d2ac6
regression from...
commit eb276d11a6
Author: Fridrich Štrba <fridrich.strba@bluewin.ch>
Date: Mon Jul 8 14:01:17 2013 +0200
fdo#38878: Upgrading internal xpdf -> poppler
before this the hashed _OOO_pdfi_Credentials_ was used
in the removed OOoImportSecurityhandler::authorize
but after this the hashed password continued to be
passed through stdin, while the unhashed password
was the required data.
Change-Id: Iadc8a372abcfab514f724dd95f05776e5153d007
Not needed, unlock() checks if a lock is present first.
If present, it means that LOCK is available, inferring the presence of
UNLOCK availability.
Change-Id: I007c4b02b27e8a40f15721c0308c894ad6f482fd
Reviewed-on: https://gerrit.libreoffice.org/27660
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Giuseppe Castagno <giuseppe.castagno@acca-esse.eu>
On some MS Excel version (OS X), the column "width" is
not applied, if "customWidth" key (in "col") is not set to "true".
It means that in case of .xlsx files, exported by LibreOffice,
all columns have default width. To resolve that "customWidth"
key was added during export into .xlsx file format.
During development it appears that Default Column Width is wrongly
calculated, and it was done not according to MS documentation.
This issue was also fixed. After fix default column width is
properly set.
MS documentation:
https://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.column.aspx
Change-Id: I0d1944081a5ea445d1e4284db62e9b4d504bf1c0
Tab Window
Add emoji.json to installation directory
Read the JSON data from code
Filter emojis according to categories
Insert Emoji at cursor position
Toolbar control
Change-Id: Ia5a577ce41398132872914ebfa499e4d4077d57e
Reviewed-on: https://gerrit.libreoffice.org/26700
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Akshay Deep <akshaydeepiitr@gmail.com>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
In .xlsx, the XML_outlineLevelRow and XML_outlineLevelCol keys
are required for Microsoft Office365 application
to properly displaying Outline values.
Change-Id: If4184ddc4fbfaa409732ddb0fb4ca85b4a27b024
... so it actually gets disabled in menu or removed from context menu if we say
so. Used with disallowing Paste for Ctrl+A selection or protected cells.
Change-Id: I7d5f8bdc7b7adee65d08b93ddee015aef953d95d
and one hasn't been set yet via the mail merge wizard. This
should have the same effect as launching mail merge and cancelling
it, which is given as the workaround
Change-Id: I9deb8173d2e18ccde705a923a74ef8a1175e9393
If anything fails at context creation then don't forget to
deallocate resources.
Temp window creation is written C like, as it was copy/pasted from
an C example.
Change-Id: Ia9d704e42206b1d4c37db2954bba4f165e3c8389
Reviewed-on: https://gerrit.libreoffice.org/27613
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>