summaryrefslogtreecommitdiff
path: root/comphelper
AgeCommit message (Collapse)Author
2017-03-22comphelper::ThreadPool: guard against concurrent shutdown/pushTaskMichael Stahl
To join a thread, the mutex must be released - another thread in pushTask() could add a new thread to maWorkers at that point, which must of course not be deleted. Avoid the problem by transferring ownership of the to-be-deleted threads to the calling thread. (regression from bdaa13a87744e424d3c210fc7f3f9e4f199d8279) Change-Id: I9d4fcfe4cb46a336586b5663934a12d47b2d8ccb
2017-03-22Prevent calls to rtl/character.hxx functions with (signed) char argumentsStephan Bergmann
...that would implicitly be sign extended (for plain char only if it is signed), so non-ASCII char values would trigger the isUnicodeCodePoint assert. Change-Id: Iaf8024ad509e64525558e882fe3fd078cfb4ea91 Reviewed-on: https://gerrit.libreoffice.org/35523 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-21comphelper:: fix MSVC hang in ThreadPool::shutdown(), try #2Michael Stahl
This takes a different approach than commit 9899ffd244dd367ba69dffe1f21f4f0222064a46. Change the ThreadPool to automatically shutdown and join all threads whenever waitUntilDone() is called. Then start the threads again in pushTask(). Because the ThreadPool is meant to be used synchronously with waitUntilDone() called after adding all required tasks, this should obviate the need to call shutdown() before process exit, as there won't be any threads running at that point. Change-Id: I2b8e639004a94cf05ccb4522aa1f0d3dac88a936 Reviewed-on: https://gerrit.libreoffice.org/35510 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-03-19ofz: segv on nullptrCaolán McNamara
Change-Id: I5ec64411b101972ddd150a782b845d4f790ea873
2017-03-13Revert "comphelper: fix MSVC hang in ThreadPool::shutdown()"Miklos Vajna
As it causes "unopkg.bin: /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/comphelper/source/misc/threadpool.cxx:96: comphelper::ThreadPool::~ThreadPool(): Assertion `mbTerminate' failed." in <https://ci.libreoffice.org/job/lo_gerrit/8283/Config=linux_clang_dbgutil_64/console> and also locally. Revert till it's clear if that assert() should be a SAL_WARN() or unopkg has to be fixed. This reverts commit 9899ffd244dd367ba69dffe1f21f4f0222064a46. Change-Id: I72902f7da410012340aa8231d84c6871a3f7b976
2017-03-11comphelper: fix MSVC hang in ThreadPool::shutdown()Michael Stahl
Commit aa68c99d88fd7abe08c4aee5206c859a0cdba38e added some code using std::condition_variable to comphelper. Built with MSVC 2017, this causes many cppunittester.exe processes to deadlock in ThreadPool::shutdown(): maTasksChanged.notify_all(); This ultimately calls NtReleaseKeyedEvent(), which never returns. The reason appears to be a bug in Windows 7, for which a "hotfix"[1] is avaiable here, but it's apparently not distributed via Windows Update so we likely can't rely on users or even developers having this installed. However, the documentation of DllMain[2] and ExitProcess[3] indicates that during shutdown, by the time global destructors are invoked all threads other than the one that called ExitProcess have already been terminated. Returning from main() implicitly calls ExitProcess [4]. As it turns out the problem only happens for some CppUnitTests because soffice.bin will call ThreadPool::shutdown() from Desktop::doShutdown() while it is still safe. [1] http://support.microsoft.com/kb/2582203 [2] https://msdn.microsoft.com/en-US/library/windows/desktop/ms682583(v=vs.85).aspx [3] https://msdn.microsoft.com/en-us/library/windows/desktop/ms682658(v=vs.85).aspx [4] https://blogs.msdn.microsoft.com/oldnewthing/20100827-00/?p=13023 Change-Id: I6137461ca7efe9a5fbe4f8f8478fb96de3570469 Reviewed-on: https://gerrit.libreoffice.org/35066 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-03-11Fix typosAndrea Gelmini
Change-Id: Ic54e808956e5cf4e8079942c0ff799f802cd4b6c Reviewed-on: https://gerrit.libreoffice.org/35053 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-03Remove redundant 'inline' keywordStephan Bergmann
...from function definitions occurring within class definitions. Done with a rewriting Clang plugin (to be pushed later). Change-Id: I9c6f2818a57ccdb361548895a7743107cbacdff8 Reviewed-on: https://gerrit.libreoffice.org/34874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-03Fix typosAndrea Gelmini
Change-Id: I4f16ba5fc32cbfd6a5b01e495f3ad905da193524 Reviewed-on: https://gerrit.libreoffice.org/34808 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-28new loplugin unoanyNoel Grandin
Change-Id: I5d6c4a67cb2a09e7cd5bd620c6b262d188701b89 Reviewed-on: https://gerrit.libreoffice.org/34714 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-26loplugin:loopvartoosmallStephan Bergmann
Change-Id: Iedfb57f97a15b17a68a5de8e5efd9ba196864964
2017-02-21loplugin:subtlezeroinit: comphelperStephan Bergmann
Change-Id: I6b97583d9bdc0d0f8c059d0fbc9e3f41f822bf3b
2017-02-20cppcheck: unreadVariableJochen Nitschke
Change-Id: I701431f0346727cbb039f18ade55b5a98c97a135 Reviewed-on: https://gerrit.libreoffice.org/34438 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-19Consistent formatting & indentation.Kohei Yoshida
Change-Id: I5dce7d05156313d460533040b8f7a3de3d8c59d7 Reviewed-on: https://gerrit.libreoffice.org/34420 Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Tested-by: Kohei Yoshida <libreoffice@kohei.us>
2017-02-15Drop :: prefix from std in c*/Tor Lillqvist
Change-Id: If078cda95fa6ccd37270a5e9d81cfa0b84e71155 Reviewed-on: https://gerrit.libreoffice.org/34324 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-02-15Some simplifications, using UNO_QUERY_THROWStephan Bergmann
Change-Id: I143ec0287421675fb13a03e8cf3c7054a17be37f Reviewed-on: https://gerrit.libreoffice.org/34271 Tested-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-06Add missing #includesStephan Bergmann
...and remove some unncessary using directives/declarations, in preparation of removing now-unnecessary #includes from cppumaker-generated files, post e57ca02849c3d87142ff5ff9099a212e72b8139c "Remove dynamic exception specifications". Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
2017-02-03makeAny->Any in canvas..configmgrNoel Grandin
Change-Id: Id06812595f373cd0da8b421dbac34a60a266ae6e Reviewed-on: https://gerrit.libreoffice.org/33869 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-02unnecessary use of OUStringBuffer in throwing exceptionsNoel Grandin
Change-Id: Iec1473264426f19c31e72260dfce9494389e474f Reviewed-on: https://gerrit.libreoffice.org/33788 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-28loplugin:stringconstant check for unnecessary OUString constructor..Noel Grandin
..calls when creating exceptions Change-Id: I3bc58a5aa4dc6f0508ecb88b3a843b96b8c7ebfe Reviewed-on: https://gerrit.libreoffice.org/33617 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-27User profile backups: Don't backup user galleriesSamuel Mehrbrodt
As suggested in https://lists.freedesktop.org/archives/libreoffice/2017-January/076768.html Change-Id: I2562064ae906eb8b2d507ec971762625692a4bbf Reviewed-on: https://gerrit.libreoffice.org/33608 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-23lok: New feature flag to turn off tiled annotationsPranav Kant
Change-Id: Ie418642242ada98d4a41f30bb6cefcd57f398ef0 Reviewed-on: https://gerrit.libreoffice.org/33472 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2017-01-23loplugin: unnecessary destructor: comphelper..desktopNoel Grandin
Change-Id: I9df4cb6a4b1734dac6141d6b0ee7a09e3e05f92e Reviewed-on: https://gerrit.libreoffice.org/33453 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-01-23use rtl::Reference in OPropertyChangeListenerNoel Grandin
instead of manual acquire/release Change-Id: Ie80253b5a59a3e3fcd52f98d9c26bcde42fe985a
2017-01-20use rtl::Reference in OSelectionChangeListenerNoel Grandin
instead of manual acquire/release Change-Id: I33e3018b5deb4240d4aff1d8136ae6f8f538c779
2017-01-20use rtl::Reference in OContainerListenerNoel Grandin
instead of manual acquire/release Change-Id: I83e6229029e662073e2e01e98f4846fb0a0ed643
2017-01-19New loplugin:dynexcspec: Add @throws documentation, comphelperStephan Bergmann
Change-Id: I115c5c34cf97858d9fdd96432cb57bde6d4537cb
2017-01-17use rtl::Reference in DocPasswordRequest and SimplePasswordRequestNoel Grandin
Change-Id: If1bad2bc852712b8315e44480ee81f797736bb95
2017-01-17use rtl::Reference in OInstanceLockerNoel Grandin
no need to store a raw pointer and a refcount pointer Change-Id: I2dc3b87dd870c8d8128c2249a18fda30319ba08c Reviewed-on: https://gerrit.libreoffice.org/33157 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-17use rtl::Reference in MasterPropertySetNoel Grandin
no need to store a raw and a smart pointer Change-Id: Ic6b0b716812ec1dca3111f2162379c11389e963a
2017-01-17use rtl::Reference in ChainablePropertySetNoel Grandin
no need to store both a raw pointer and a smart pointer Change-Id: If0bde337e6d9fa575a2fc7104ecffa97a8c37c31 Reviewed-on: https://gerrit.libreoffice.org/33159 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-17use rtl::Reference in AttacherAllListener_ImplNoel Grandin
no need to store a raw and a smart pointer field Change-Id: Id9ce8365a413ee2dcac8e92b99768ccbb8bf7697 Reviewed-on: https://gerrit.libreoffice.org/33158 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-16new loplugin: useuniqueptr: comphelperNoel Grandin
Change-Id: Iafbaff60d10c9de7b57421e0c24809b08d813987 Reviewed-on: https://gerrit.libreoffice.org/33146 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-14tdf#97597: Ensure that each parsing thread has its own buffer.Kohei Yoshida
Change-Id: I93077f954a49b3922930e4fc86c80228be0f4dd2 Reviewed-on: https://gerrit.libreoffice.org/33069 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
2017-01-07default copy ctor and assignment operator are good enoughCaolán McNamara
and block default move equivalents Change-Id: Ib8a1050803446c2e099f66602fae0465bd8165cf
2016-12-23tdf#70998 Change word "Graphic(s)" to "Image(s)"Huzaifa Iftikhar
There was an error in the previous patch inside the file embeddedobjectcontainer.cxx This is fixed in this patch. Change-Id: I01c9e254e58e1683a8e6e9a0bcff3c4663bf32e0 Reviewed-on: https://gerrit.libreoffice.org/32353 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-12-23loplugin:unusedmethodsNoel Grandin
Change-Id: Ife4c8d948ffa116f044d43903de9485e43cfcae5 Reviewed-on: https://gerrit.libreoffice.org/32336 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-15teach sallogareas plugin to catch inconsistenciesNoel Grandin
Change-Id: I8bcea5ffc74d48148bea78da8c17744e288c069a Reviewed-on: https://gerrit.libreoffice.org/32004 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-13OSL_TRACE->SAL in chart2..ooxNoel Grandin
Change-Id: I133a6441824bfbefcfcda130119b5c5d706f86b2 Reviewed-on: https://gerrit.libreoffice.org/31907 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-12comphelper: cleanup class NameContainer.Arnaud Versini
Remove useless class NameContainerImpl. Change-Id: I3066abea69ed68d597aeecdd6b3ec7264f7ebe9c Reviewed-on: https://gerrit.libreoffice.org/31830 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-08convert OSL_ENSURE to assert in AccessibleEventNotifierNoel Grandin
and fix the places that trigger it Change-Id: I97a04cff25ab5aa1d42c79a971d15ba742bf384e Reviewed-on: https://gerrit.libreoffice.org/31760 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-07This is presumably not meant to be exportedStephan Bergmann
Change-Id: Id11393c44ddd217d3def259ea5a8df9f8bb27711
2016-12-07tdf#88206 replace cppu::WeakImplHelper* miscJochen Nitschke
also edited two examples in canvas comments Change-Id: Iac82b462168f869f995c33bb2c639f3dbe09cbd5 Reviewed-on: https://gerrit.libreoffice.org/31715 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-12-06SafeModeDialog: Add option to reset bundled extension registrationSamuel Mehrbrodt
Change-Id: Ic83ada7cc76142852643cefa60b4fc9286e0756a Reviewed-on: https://gerrit.libreoffice.org/31694 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2016-12-06SafeModeDialog: Rename to match realitySamuel Mehrbrodt
This doesn't remove shared&bundled extensions, but resets the registration database from shared extensions. Change-Id: I9f198fc7b771fd3bd31547008fd8d006a6d1b5d5 Reviewed-on: https://gerrit.libreoffice.org/31693 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2016-12-05convert DecodeMechanism to scoped enumNoel Grandin
Change-Id: I5c56634b1bca8e37fa73d02d2428645301b6c547
2016-12-01tdf#104126 - comphelper thread-pool, use reliable std::condition_variable.Michael Meeks
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>
2016-12-01Fix race in ThreadTaskTagStephan Bergmann
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
2016-11-29Rewrite some (trivial) assignments inside if/while conditions: comphelperStephan Bergmann
Change-Id: I8361f62199f45dbced45e5d4a4d5eeddf1c42d67