The existing osl::Condition is an API and reliability disaster area.
Change-Id: I3be84e1c6a83e58c43c40c9c8720790d923a6694
Reviewed-on: https://gerrit.libreoffice.org/31163
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Assume T0 calls ThreadPool::pushTask twice, then ThreadPool::waitUntilDone:
T0 calls ThreadTaskTag::onTaskPushed:
mnTasksWorking = 1, maTasksComplete.reset
T1 runs the 1st task to completion and calls ThreadTaskTag::onTaskWorkerDone:
mnTasksWorking = 0; suspended...
T0 calls ThreadTaskTag::onTaskPushed:
mnTaskWorking = 1, maTasksComplete.reset
T1 continues in the call to ThreadTaskTag::onTaskWorkerDone:
..., maTasksComplete.set
T0 calls ThreadTaskTag::waitUntilDone and immediately returns
T2 only now starts to run the 2nd task
Change-Id: Ic29101a4791fca2a1a4d54b559f10ff706e8a20d
The password-to-modify misfeature does not actually provide any
security, but it may induce users to re-use passwords, so at least make
it harder to crack the passwords.
Change-Id: I0adf0e8e11b222fc469013e17a2695bd7122ad01
So we don't have to specify the source and destination type as often.
Change-Id: Id9e286417a1cb246d163cbc3c536b231a4a92624
Reviewed-on: https://gerrit.libreoffice.org/30700
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
For Extensions there is the possibility to not only
decide enable/disable state for User ones, but also
to deinstall user or all extensions, added these
options to the dialog and the functionality.
Also unified customization name schema to have just
one source of strings to avoid errors in the future.
Small fix in tryPop_extensionInfo
Change-Id: I39acbe9a052ffd4cb78b496f24e5b583136c565a
Reviewed-on: https://gerrit.libreoffice.org/30100
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Fix "default initialization of an object of const type 'const
ExtensionInfoEntryVector' (aka 'const vector<(anonymous
namespace)::ExtensionInfoEntry>') without a user-provided default
constructor".
Change-Id: I97013ed4660459a3f4c1b8b5b7cc302ba3ff914d
To be able to restore the last saved state of enabled/disabled
extensions it is necessary in SafeMode to get and set that states
without XExtensionManager, so the configuration xml files have
to be accessed. Added this change
Change-Id: I00fe5795598427e7c08be0d3dd54bef68d038e24
Reviewed-on: https://gerrit.libreoffice.org/30062
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Added deeper integration by saving at SaveMode content of user dir
completely to a user/SafeMode dir, including the whole stack
of pack files. Repair happens in that safe directory, so that
the user dir is resetted to default when re-started in SafeMode.
All changes (including complete deletion) are played back to
the user config at first restart with disabled SafeMode
Change-Id: I5114c7d5d04582be62090707bc9b97afa55fc1f1
Reviewed-on: https://gerrit.libreoffice.org/30003
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Adaptions to UI, added more modes what the user
can do in SafeMode. Adapted locations to write
pack information and added places where to enter
SafeMode. Implemented basically all five
possible user choices
Change-Id: Ic5324a8f77ab434309e840949c3803e65a75c538
Reviewed-on: https://gerrit.libreoffice.org/29785
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Saving configuration is now extended to three
basic modes, from just saving registrymodifiications
to adding user-defined config stuff to saving all
information in the user profile, additionally
configuration information for Extensions is saved.
Added configuration entries for this and tested
saving/restoring.
Change-Id: I79b09c37617803bf656826f76a7e3db79cda49ac
Reviewed-on: https://gerrit.libreoffice.org/29770
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Added own directory in User config to where the
saved content is written and taken from, adapted
to also handle ExtensionConfiguration, changed
point for creating backups of configuration to
doShutdown, create no configuration when a restart
is triggered (untested configuration)
Change-Id: Id7a96195b765842c31cacf81cc08d2965a205281
Reviewed-on: https://gerrit.libreoffice.org/29729
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Added default values for SecureUserConfig values
to soffice.ini/rc which enable the mechanism,
enable by default and set a maximum of three backups
file in packed form. Added more handy flag for easy
decision to add compressed/uncompressed.
Change-Id: I5a624c09fec4e4278314e13fc5f693ac085d5e61
Stack of files can now deflate/inflate using zip
library, unfortunately have to use direct due to
Deflater/Inflater not being available, had to add
linking against zip.lib. Checked compressed and
uncompressed creation/usage of backup stack. Also
warnings and clang errors corrected.
Change-Id: Ieb059baeea323bb48ec5b1cf6b8df09da97cfb93
Enhanced helper classes for BackupFileHelper to
allow writing a stack of rescued last valid
configuration files to a single file package.
Added configuration values for enabling this and
defining the number of entries, added max entry
limitation. Using FileSize and CRC32 now to dectect
if config file did change. To make this work I added
sorting to writing the configuration so that with no
change the same configuration file is written.
Use std::vector for better mem performance for sorting,
defined static const for buffer size of manipulation,
prepare inflate/deflate usages. Fixes to setPos, warnings
Change-Id: Ib286e2a3f25b0085a1e3ae4f50c9ff1ff3a5dcf5
Added helper class to allow easy creation/deployment
of backups of a file. It works like a 'stack' of backups,
supports easy add/remove/delete of last entry (LIFO).
Added some work top allow opening dialogs in DeInit
under linux.
Change-Id: Idacec97ec2f097af9bd22a8a67b410c7677d17f1
Added helper class to allow easy creation/deployment
of backups of a file (here: registrymodifications). It
works like a 'stack' of backups, supports easy push/pop
of backed-up versions.
Change-Id: Ie19e1209534f23a3dbd6106a5ca13b24b8fefe4d
And make it a static one. The primary point of that member function is
to prevent invalidations during paint, and since multiple views are
allowed, it wasn't extended to filter out invalidations from all views,
not just from the current one. (Same goes for other callback types.)
Change-Id: I23e6b2c2ff94227f2b72c481148b2d8279ae2905
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
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
This enables the certificate validation when
StillReadWriteInteraction::StillReadWriteInteraction interaction
handler is used.
Certificate validation is needed for Web/WebDAV files.
Change-Id: I38cba9fc8b586953477d7df02acfcc8347603220
Reviewed-on: https://gerrit.libreoffice.org/27914
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Giuseppe Castagno <giuseppe.castagno@acca-esse.eu>