VC runtime was substantially refactored on MSVC 14.0. Among other,
_tiddata structure defined in crt/src/mtdll.h was replaced with
__vcrt_getptd defined in crt/src/vcruntime/vcruntime_internal.h.
All members before
unsigned long _NLG_dwCode
were removed, so that the approach to access the member
void * _tpxcptinfoptrs; /* ptr to exception info pointers */
with __pxcptinfoptrs() and compute the offset to the _curexception
member of _tiddata doesn't work on MSVC 14.0.
As of MSVC 14.0 __vcrt_getptd symbol isn't exported but Microsoft
have introduced methods to access current exception, current exception
context and processing throw (the later can be accessed through C++17
std::unhandled_exceptions() that was made available in MSVC 14.0):
* __current_exception()
* __current_exception_context()
* __processing_throw() aka std::unhandled_exceptions()
Make use of __current_exception() which we can hope will be maintained
going forward.
Change-Id: Ibfffa5fba62d6928328ac976cb1b24937277363e
Reviewed-on: https://gerrit.libreoffice.org/18475
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
PropertySetInfo_Impl in ucb/source/core/ucbstore.cxx is sheer insanity,
persisting a PropertySetInfo into the configuration => throw up
hands in despair.
Change-Id: Ic341e453571072a9ed66c6bf51e96dbe39806566
1) kdecommandthread part
before:
getFiles retrieves all files with:
First element = path only of the files
other elements = file names (without path)
after:
Add getSelectedFiles which retrieves all files with their url
getFiles uses getSelectedFiles and truncates to 1 entry if more than 1 entry
2) kdefilepicker part
before:
getFiles case retrieves all files with names including path
after:
add getSelectedFiles case which retrieves all files with names including path
change getFiles to retrieve only the first file (with path)
See http://nabble.documentfoundation.org/Dev-f1639786.html for discussion
Change-Id: I73cf00e7c03a1f2379f4628b5d7f12418029cca1
Reviewed-on: https://gerrit.libreoffice.org/17064
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
There's a very similar comphelper::PropertySetInfo, unfortunately with
an additional mnMemberId on its properties, so convert a little...
Change-Id: I2a5fc0bb0ff6d680d546192b9d09afee6348f218
The API does not allow to set a callback for the save operation, we
work this limitation around by checking the modification date of the
local file periodically. When that date changes, we are sure the
local save operation is complete and we can invoke the document
provider save operation to push the changes to the cloud, if
necessary.
Users may press "save" on a document with no changes, in this case we
have set a 20 seconds limit to stop checking the modification date.
We also add a "save complete" message for the user.
Change-Id: Ib8871fac682a5c03a187a7238e11874984143527
The LOMainActivity now needs to be aware of Document Providers, so we
pass the providerId and documentUri in the Intent so it can rebuild
the DocumentProvider and the IFile objects.
We also implement the ownCloud save operation.
TODO: since the local save operation does not have a callback, we do
not know when the cloud save operation should be performed. Now we
just wait 5 seconds to trigger it.
Change-Id: I060969e12888eca07c8c56ddc82cbed6c45a0739
So far it just selects 'Approve' for any interaction that is done through
that, later we want to route the information via callbacks to the caller.
Change-Id: I7ae3e2dcc04877b8b0197b0396299126e1217a2a
When there was no modification to the document, and .uno:DefaultBullet was
sent, we have got an invalidtion of the entire document.
It seems that Invalidate() was not supposed to be called in the Validate()
call, and instead, we should rely on what the Validate() invalidates :-)
Change-Id: Ia65df90e4ff34078b59c1b2eb1ce1faac790b40d
This reverts commit 9099e21b89.
It causes the problem that frames anchored to the same node where
redlines start or end get duplicated during Hide.
Jan-Marek said that the original mail-merge related problem this change
was fixing is now most likely fixed differently, and the test in
testMultiPageAnchoredDraws() still passes.
Change-Id: Ie84fed3f64be7696782bc557004eb18fccc5b64b
OOXMLUniversalMeasureValue is an integer value and needs to be converted
to a signed integer. unit test included
Change-Id: I7fe3fdf4b8b12df55e9cea2a968b9537676687eb
Reviewed-on: https://gerrit.libreoffice.org/18496
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Oliver Specht <oliver.specht@cib.de>
Invalid read of size 4
at 0x57F48E0: __pthread_mutex_unlock_full (in /usr/lib64/libpthread-2.21.so)
by 0x4E903F7: osl_releaseMutex (mutex.cxx:136)
by 0xB3EECF0: osl::Mutex::release() (mutex.hxx:74)
by 0xB3EF92C: osl::Guard<osl::Mutex>::~Guard() (mutex.hxx:135)
by 0xB3F755A: SvtCommandOptions::~SvtCommandOptions() (cmdoptions.cxx:318)
by 0xB3F75B3: SvtCommandOptions::~SvtCommandOptions() (cmdoptions.cxx:328)
by 0x2B13BDE9: std::default_delete<SvtCommandOptions>::operator()(SvtCommandOptions*) const (unique_ptr.h:76)
by 0x2B13A3C6: std::unique_ptr<SvtCommandOptions, std::default_delete<SvtCommandOptions> >::~unique_ptr() (unique_ptr.h:236)
by 0x2B134063: framework::Desktop::~Desktop() (desktop.cxx:183)
by 0x2B13418B: framework::Desktop::~Desktop() (desktop.cxx:187)
by 0x79892AD: cppu::OWeakObject::release() (weak.cxx:205)
by 0x2B1399B7: framework::Desktop::release() (desktop.hxx:133)
by 0x2B13B860: rtl::Reference<framework::Desktop>::~Reference() (ref.hxx:81)
by 0x2B13956B: (anonymous namespace)::Instance::~Instance() (desktop.cxx:1780)
by 0x54635D7: __run_exit_handlers (in /usr/lib64/libc-2.21.so)
by 0x5463624: exit (in /usr/lib64/libc-2.21.so)
Change-Id: I98e0e70567ab39a06813fd9b614ba1e04ec22bd1
There were two problems here:
1) The OpenGLContext ctor registered the instance on the list of
contexts, but platform-specific call (e.g. wglMakeCurrent()) was only
made later. Add a registerAsCurrent() member function that helps
ensuring that the last item in the context list is indeed the current
context.
2) OpenGLContext::prepareForYield() is called without the solar mutex
being locked, but it still assumes that the last context in the context
list is the thread's current context, which may not be true. The result
is that during JunitTest_sd_unoapi, we end up in a situation like:
debug:4640:5240: OpenGLContext::registerAsCurrent: wglGetCurrentContext() is 00010001, pSVData->maGDIData.mpLastContext is 00FA65F8
debug:4640:7944: OpenGLContext::registerAsCurrent: wglGetCurrentContext() is 000D0003, pSVData->maGDIData.mpLastContext is 00FA6C70
debug:4640:5240: OpenGLContext::prepareForYield: start, wglGetCurrentContext() is 00010001, pSVData->maGDIData.mpLastContext is 00FA6C70
I.e. one thread registers as current, an other registers as current, too (while
the other thread has the solar mutex), then once the original thread wants to
release the solar mutex, the real current context and the last item in the
context list won't match, so the assert at the end of prepareForYield() will
fail.
Fix this by releasing the GL context in WinSalInstance::DestroyFrame().
With this, JunitTest_sd_unoapi passes on Windows with GL enabled.
Change-Id: Icfb9c65c871586b5df69b5a2ab3aa91843dfc799
Reviewed-on: https://gerrit.libreoffice.org/18473
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Typing :.: (one ASCII dot between colons) will enter the Unicode
horizontal ellipsis (U+2026: …) instead of the bad :…: (the
requested Unicode character between colons).
Note: the pattern :...: (three ASCII dots between colons) was
originally intended for the horizontal ellipsis, but that
collides with .*... pattern (default in English and in several
other languages, meaning: replace word ending three ASCII dots).
Change-Id: I97632ff81e04ab9e53026da425b82a2541db0eb1