summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2015-09-11vcl: tdf#88206 replace cppu::WeakImplHelper* etc.Takeshi Abe
with the variadic variants. Change-Id: I4499569f73b04cc7444787d51bf804c090a5c951 Reviewed-on: https://gerrit.libreoffice.org/18478 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-09-11tdf#93480: Don't send an EMPTY Invalidate() on .uno:DefaultBullet.Jan Holesovsky
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
2015-09-11coverity#1323754 we apparently can survive std::abort for a whileCaolán McNamara
so try and suppress this warning Change-Id: I096352af0116f1ba0911cc201eb884267095a797
2015-09-11windows opengl: make sure mpLastContext is indeed the current contextMiklos Vajna
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>
2015-09-11convert Link<> to typedNoel Grandin
Change-Id: I70d7c7ae4fc68d2f36a00d7c1b6eba71f63872d7
2015-09-11convert Link<> to typedNoel Grandin
and remove unused maChildEventListeners Change-Id: I845a9af608c3429cf9ccb0e8041f24f423839513
2015-09-11convert Link<> to typedNoel Grandin
Change-Id: I8f64b8f8e1e8ac7ce1475fc5132acb7171237a32
2015-09-10coverity#1323752 Logically dead codeCaolán McNamara
Change-Id: Ic7b0e9c6a1e4e1ce37d49358828a660fdfc63a1d
2015-09-10coverity#1323759 Uninitialized pointer fieldCaolán McNamara
Change-Id: I9fca8838beb1c2f6db8a9f1c9b6fe77f247b847c
2015-09-10Calling empty std::function behaves different than calling empty LinkStephan Bergmann
...regression introduced with a50cd18768289c65debeed5ec507cf37095365b8 "make Control::ImplCallEventListenersAndHandler take a lambda" Change-Id: I62e66d71cd36e55d68cf15c70dc9e06214f7e312
2015-09-10vcl: fix utterly mysterious error C2064 term does not evaluateMichael Stahl
... to a function taking 0 arguments with MSVC 2013. Change-Id: I73744bfe9def70d00e6e489f7064472cdb64b113
2015-09-10windows opengl: mpCurrentProgram seen as 0Miklos Vajna
in JunitTest_sc_unoapi_3. Change-Id: Ibe12a31c1158f782bd7df115171b07e1843d025c
2015-09-10remove unused Link<> fieldNoel Grandin
Change-Id: I9fa72bd4a39d630829356117cec73b686efc7ae7
2015-09-10convert Link<> to typedNoel Grandin
Change-Id: I603463d0486d4d0f21ebbdc6eca900db58bb090f
2015-09-10Fixup low-prio idle's effect on min-period.Michael Meeks
Change-Id: Ib01883e09a32d839cc20455276655ad39bd6828c
2015-09-10convert Link<> to typedNoel Grandin
Change-Id: Iaca21344f6a38f508f79e6d5983e515162a6dca3
2015-09-10convert Link<> to typed, and introduce LinkParamNoneNoel Grandin
as a marker type for unused Link#Call(T) param Change-Id: Ife9149052a52b27fefd4f810309a5004a0f1771b
2015-09-10convert Link<> to typedNoel Grandin
Change-Id: Idcc6b760dfe2d388a2634fcc345c66ff5649a62a
2015-09-10remove unused Link<> fieldNoel Grandin
Change-Id: I121f133513a9897f38bd87be96c2cea39fbfc836
2015-09-10convert Link<> to typedNoel Grandin
Change-Id: I7aa46c5cbaf70bea5756a4066bc620b3c40dedee
2015-09-09vcl: restore lost hunk in Scheduler::ImplStartTimer()Miklos Vajna
Regression from commit 6d64d2f38d9f6c2f54e05675ecd0709eabf6d8ca (Minor refactoring and cleanup of Scheduler and Timer., 2015-07-19), the old Timer::ImplStartTimer() used to set nMS to at least 1, but the new Scheduler::ImplStartTimer() didn't do that. With this, JunitTest_sw_unoapi_3 no longer hangs for me. Change-Id: I16ad360f1e5430cde7ec8b28e8c2620d260c9ec0
2015-09-09convert Link<> to typedNoel Grandin
Change-Id: I3127752785b77672d37f99bc9eaa881377dabe7c Reviewed-on: https://gerrit.libreoffice.org/18431 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-09remove unused Link<> fieldNoel Grandin
Change-Id: I8832a303ae2ac384e49488835df6b2d145ebbfcd Reviewed-on: https://gerrit.libreoffice.org/18430 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-09remove unused Link<> fieldsNoel Grandin
Change-Id: Ifed1a8cfa774225cb450bb211b1b1b949ef02811 Reviewed-on: https://gerrit.libreoffice.org/18429 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-09convert Link<> to typedNoel Grandin
Change-Id: I2f36a123662488ef5534f7bf0845d61e497fb0ec
2015-09-08Ensure the scheduler can set longer timeouts.Michael Meeks
Regression from: 6d64d2f38d9f6c2f54e05675ecd0709eabf6d8ca. Also fix the low priority idle min timeout to 5ms. Change-Id: I26a6e89ef7fa173e64ee34f7a500157ba82b7198
2015-09-08tdf#94006 - need an explicit dispose for GLContext's SystemChildWindow.Michael Meeks
Previously we would get an explicit ~OpenGLContext - and potentially leave FMR's around for other OGC users, now we treat the other users properly - we need an explicit dispose() to get Window::dispose ordering right. Change-Id: I5edcbd73399b6db3dbcfb391570f364f9ab0c70d Reviewed-on: https://gerrit.libreoffice.org/18412 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2015-09-08tdf#94006 - fix OpenGLContext mis-use in several places.Michael Meeks
gltf rendering, OpenGL canvas, GL transitions & GL capable (charts) Avoid GLX operations on un-initialized contexts. Change-Id: I7f523640f66ab656896181e5c865879234f6640e
2015-09-08tdf#94006 - re-factor to use rtl::Reference for OpenGLContexts.Michael Meeks
Don't use rtl::Reference for the global / list state, so the ref-count reflects the number of real users. Hold a reference during ~OpenGLContext. Change-Id: I4e57a7246159acd58ae7d5a0dfc8704b9795c894
2015-09-08loplugin:mergeclass, merge BiNode with NameNode, Obj0Type with ObjkTypeNoel Grandin
Change-Id: Icbc0dfc6096a6e2c651dad4fe9f78d176f389390
2015-09-07don't use a null displayMarkus Mohrhard
Change-Id: Iab0a53abd723f0309f40742636315079a4b2c532
2015-09-07avoid some OpenGL calls when vcl OpenGL is not enabledMarkus Mohrhard
There are even more and it is causing a number of performance issues. This just fixes the most obvious place. Change-Id: Id85c13b5b7f4bb0bc077e62c39258067e17c0094
2015-09-07prevent crash with non-vcl OpenGL contextsMarkus Mohrhard
Change-Id: Ia829b0f723c8ded1237e52d48f034da3c1ac249e
2015-09-07clang-analyzer-deadcode.DeadStoresStephan Bergmann
...ever since its inception with 485d404dc2d12f86acd9c69f19e9075bd375e861 "vcl118: #i115788# fix file specs vs. URI" Change-Id: I990c3610b29b060b516a21ec6cba615fa101ccb5
2015-09-06Related: tdf#84277 Hide separator only between two windowsMaxim Monastirsky
Change-Id: I3176933d20dce9f595fd6a9c0ee434a3709fa560
2015-09-04Minor refactoring and cleanup of Scheduler and Timer.Ashod Nakashian
Members are now const-correct. Replaced compile-time constants with enum. Refactored common functions from Timer to Scheduler. Disabled timer-precision unittests as they misfire often. These changes are non-functional. Change-Id: I6bb3d9fc402cadd556d9063ed9a4888f114c73d7 Reviewed-on: https://gerrit.libreoffice.org/17977 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-09-04Reduce nVal scopeStephan Bergmann
Change-Id: Id5756033ccfbe392ae8264afbd3e2e0afd487f6b
2015-09-04Uniformly use if --- else if brachnes hereStephan Bergmann
Change-Id: I80d9d0d4c4d56aa8d52dc2e108a9b24025fb0f76
2015-09-04clang-tidy clang-analyzer-deadcode.DeadStoresStephan Bergmann
Change-Id: I1588f55b4be2d32dcafae27ac45eb5def1407fa6
2015-09-04clang-tidy clang-analyzer-deadcode.DeadStoresStephan Bergmann
These modifications are redundant since they got moved around with a16eaec9364d0c880858108e764c510aba8c7ed6 "INTEGRATION: CWS sj22: #i122882# graphic with negative size is no longer disapearing." Change-Id: Iba58054b5638c1d78b369ca4041d0d273c5a2954
2015-09-04missing part of natural sort commitCaolán McNamara
Change-Id: I8cf86d69cfed220c940a5a3d499790d82b7ba319
2015-09-04tdf#92505 vcl: fix substituting missing glyphsMiklos Vajna
Commit a6b00d16eb27a5e7e31c721671001a909ecef960 (Related bnc#822625: Cache FontEntry with the original FontSelectPattern.) and the follow-up 16a62079018aea0e72636bdb00576487b4e830b9 (Oops, this reference can't be const., 2014-05-28) changed the font cache key, so that it's directly what was the argument to ImplFontCache::GetFontEntry(), which leads to missing glyphs in the bugdoc, e.g. the 4 check mark characters are rendered as a check mark only in the DejaVu Sans case on my machine, the other 3 cases result in placeholders. Fix the problem by changing back the key to aFontSelData, which is possibly modified in ImplFontCache::GetFontEntry() before used as a key. Change-Id: I80eb4ba0f986a10100b6ae421d1346f235ce83b7
2015-09-04Avoid a SAL_INFO about OpenGL when not using OpenGLTor Lillqvist
Change-Id: Ia066c240776cecc855b59ab0ccc84e7fdcbf4b79
2015-09-04fix slider drawing, change to always draw the whole widgetTomaž Vajngerl
Change-Id: Ifca2f72962b808a355bd7dcc20babaeb61272bf8
2015-09-04vcl: replace boost::ptr_deque with std::deque<std::unique_ptr>Caolán McNamara
Change-Id: Id53ee54dda5454669affd5ca5324a2d7c5387063
2015-09-04Related: tdf#92982 vcl rendercontext: optimize non-buffered paint of CursorMiklos Vajna
Change-Id: Ic8065d4f656d42f1e2e7d8b4c602010fa0ae2d34
2015-09-04convert Link<> to typedNoel Grandin
Change-Id: I2136c3db2742afcb4722f69297276bea1e0119f4 Reviewed-on: https://gerrit.libreoffice.org/18306 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-04remove unused Link<> fieldsNoel Grandin
Change-Id: I81401ae6d1b1e95375bf4a5792b3b83189be5683 Reviewed-on: https://gerrit.libreoffice.org/18304 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-03Fix mis-mergeStephan Bergmann
...where fb6f2e1109abdd09e80dbcd6660a9530fc06ff0f "Resolves: #i121407# Gallery reorganizations..." first cherry-picked the younger 8012fae6cedcf325130d70adf0a486e8918f452f before f7d373d18f965b36f310d44044bdba6476f6eb03 "Added ColorDepth change test with assertion to the Bitmap::Scale method" then cherry-picked the older 4be8cc079667cca2cae91dba9e46c16ccff1537f, leading to the two checks at the top of Bitmap::Scale to not return early as intended. Thanks to clang-tidy clang-analyzer-deadcode.DeadStores for flagging this. Change-Id: Id89cc517a9f7efdff040c70f3b0e640d969cf24d
2015-09-03clang-tidy clang-analyzer-deadcode.DeadStoresStephan Bergmann
...given that setting bCalcPortion to false is always followed by a break out of the while loop ever since the code's inception in 8ab086b6cc054501bfbf7ef6fa509c393691e860 "initial import," bCalcPortion is apparently always true when read Change-Id: I83ba29a78512360500a0c9c8c1baf1ccbad87951