summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2016-04-13tdf#94306 replace boost::noncopyable in stoc to xmlsec..Jochen Nitschke
Replace with C++11 delete copy-constructur and copy-assignment. Remove boost/noncopyable.hpp includes. Add missing default ctors. With this commit there should be no users of boost::noncopyable left. Change-Id: I6b1e47824912a6a80cc3f00f34938ebc048d8975 Reviewed-on: https://gerrit.libreoffice.org/24051 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-13remove dead stuff from Windows SalDataNoel Grandin
- drop mbInTimerProc field - drop mnSageStatus,mpSageEnableProc fields i.e. SAGE.DLL (System Agent) workaround, which died out with Win95/98 - convert some TRUE/FALSE constants to true/false where the field is a bool - drop maDwmLib, mpDwmIsCompositionEnabled fields Change-Id: I7b773f915dbc329eb0262bc8fee2ea7c72d25c66 Reviewed-on: https://gerrit.libreoffice.org/24047 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-13remove Windows95 MouseWheel supportNoel Grandin
since we no longer support Windows95 Change-Id: I6b2fe5fdb2cde3c69fc0d18bcaac25afccbffc16 Reviewed-on: https://gerrit.libreoffice.org/24049 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-13tdf#99165 always provide control points for beziersArmin Le Grand
Some graphic sub systems cannot handle cases where control points of bezier curves are not set and produce wrong geometry for fat line drawing when MITER or similar LineCap and/or LineJoin is used. To avoid that, provide the mathematically correct fallback control points instead. Change-Id: Iabc724e51fb89e702f858db820c920f7b5b7d302 Reviewed-on: https://gerrit.libreoffice.org/24031 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2016-04-13tdf#97087 Give comprehensible names to timersMuhammet Kara
Timers and idles should have programmer comprehensible, unique names Change-Id: I837d1890c687936f8a31278c0102391e6f87212d Reviewed-on: https://gerrit.libreoffice.org/23917 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-04-13Stop assigning null to intrusive_ptrTakeshi Abe
which added at f6d61562d41b8a49449d881da66a3d8fa519487f. But they seems unnecessay because, even without them, soon the intrusive_ptr goes out of scope then its dtor decrements refcount. Change-Id: I6e35ecb7d5a0b5ccaef6ea9b7507300dcb589801 Reviewed-on: https://gerrit.libreoffice.org/24013 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2016-04-12lp#1560328: clear cache before disposing rest of VCLBjoern Michaelsen
Change-Id: Iac325cf934953c61cb4dbbb67cfbab1777dc45cc Reviewed-on: https://gerrit.libreoffice.org/24038 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2016-04-12Avoid reserved identifiersStephan Bergmann
Change-Id: Ie832e82ca3767114457780581444f6fc8aa9fdd2
2016-04-12Avoid reserved identifierStephan Bergmann
Change-Id: I8b8d0322e62a64379eb72ca648c06b092c363f6a
2016-04-12vcl: simplify WNT SalYieldMutex::release() further ...Michael Stahl
... by asserting that the current thread is the owner of the SalYieldMutex. Anything else would be a bug anyway. Change-Id: I564c184ae21b99a096f67edbc729b3f2b0e307de
2016-04-12vcl: simplify WNT SalYieldMutex::release() a bitMichael Stahl
The ordering between clearing mnThreadId and OpenGLContext shouldn't matter since it was already inconsistent. Change-Id: I0b7b6457547e9e38527de58ba062fd7092178056
2016-04-12WNT: check result of PostMessage()Michael Stahl
... so the next time something overflows the main thread's message queue it's easier to debug. Change-Id: I90a35e46f3b2cab190c7da5e53024ec549159ac6
2016-04-12vcl: split out part of ImplGetTabRect into new functionDouglas Mencken
Change-Id: I387417bf8fdfa85379b6d8eaa32738d0ed7ab519 Reviewed-on: https://gerrit.libreoffice.org/23900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-04-12tdf#96887 enhance SolarMutex AcquireWithWait for WindowsArmin Le Grand
Currently the Windows-specific method ImplSalYieldMutexAcquireWithWait() uses a messaging mechanism to learn about the SolarMutex being free again. This is not reliable when the MessageQueue overflows (MS allows 10000 messages per queue). It is more safe to use MsgWaitForMultipleObjects. This also allows to not only wait for the SolarMutex to be freed, but also to detect when SendMessage() is used which needs to lead to a reschedule to not block current Window handling. Change-Id: Id317dda62aaa1fe7677d8d28929e6936e5a22705 Reviewed-on: https://gerrit.libreoffice.org/23921 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2016-04-12give tools::ResId a shave and a haircutNoel Grandin
m_nRT2 and m_nWinBits fields are not in use anymore, at least as far back as 2013, when the heading files were moved around Change-Id: Ie3299a5999976450803332aeab72d5c0e68227e2 Reviewed-on: https://gerrit.libreoffice.org/23960 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-12cleanup: remove unused com/sun/star/uno includesJochen Nitschke
Sequence.h(xx), Any.h(xx) and Type.h(xx) and remove unused using-declarations from these files. Add a few missing includes provided by them. Change-Id: I6b91b6d1fdf9d0496dd546c0aab9bdcc6831a5d4 Reviewed-on: https://gerrit.libreoffice.org/23805 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-12clang-tidy performance-unnecessary-value-param in vclNoel Grandin
Change-Id: I403f148060891feec56d7d2ef173a9c4934baf9e Reviewed-on: https://gerrit.libreoffice.org/23995 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-11Don't get excited about "inline"Stephan Bergmann
Change-Id: I4f067bd60706814b4d2cc6057a0342696021ad75
2016-04-11Avoid reserved identifiersStephan Bergmann
Change-Id: I3c3ca71a2e0098ec8df49c6bf4c2045218c91ee9
2016-04-11Remove unused macrosStephan Bergmann
...that were introduced with b5a9cc71d246c26da8aca4203da84c10c104c222 "Exif reading/writing and Jpeg lossless transformations support" but apparently never used Change-Id: I7e3367b5753b06746a82ae18453b6f9a291ff77a
2016-04-11Get rid of _XPMPRIVATEStephan Bergmann
Change-Id: I37396cfe303bdc17520a69ee7cbdbdbc219eea1c
2016-04-11Get rid of _XBMPRIVATEStephan Bergmann
Change-Id: I4e2cd2d98299ee0b25e05b8a96fb8c3b8390b66d
2016-04-11Get rid of _GIFPRIVATEStephan Bergmann
Change-Id: I3e6b8d424c460987f7a6269ad035ecaeafe48366
2016-04-11tdf#87944 COLOR-PICKER stays on wrong position.Juergen Funk
After this patch dab2582f05979cd99a5937cb95a387cfed70bb8d under windows always open on the wrong position (open in the middle of the application but not under the pushbutton) Change-Id: Ib245df6ccb2be768f7a12b638864d5c3cea1a390 Reviewed-on: https://gerrit.libreoffice.org/23557 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-04-11cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: Ie25240030fd848a5b30526746206bfd5fe543091
2016-04-11cppcheck: silence warnings assertWithSideEffectJochen Nitschke
Mark some class methods as pure. warnings look like this: > dbaccess/source/core/api/RowSetBase.cxx > 593 assertWithSideEffect 398 warning Assert statement calls > a function which may have desired side effects: 'isAfterLast'. Change-Id: I1b69340c3714be4678b599fa9a8ca933122aa857 Reviewed-on: https://gerrit.libreoffice.org/23981 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-11coverity#1358428 fix "Null pointer dereferences"Tomaž Vajngerl
Change-Id: I629ff54ea721f4d9626258690767088b1abfb0c6
2016-04-11loplugin:constantparamNoel Grandin
Change-Id: Ie690088d7a7d568703afd22f544628fc8012a7e1
2016-04-08Silence loplugin:unreffunStephan Bergmann
Change-Id: Id68ec3e157445249bd96635d50e1de9c68cc0a46
2016-04-08Change #include <cairo-svg.h> to <cairo.h>Korrawit Pruegsanusak
Since we don't need cairo's svg feature, and we build internal cairo with --disable-svg. Also remove commented-out codes which use svg. Change-Id: I5a8e8c672588bb6eca28696f21221770972ec3d3 Reviewed-on: https://gerrit.libreoffice.org/23456 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-08opengl: refactor GL texture slot mechanism to be more generalTomaž Vajngerl
Slot mechanism in ImplOpenGLTexture was written to support needs for FixedTextureAtlas. This commit makes the slot mechanism more general so it can be used in other kinds of texture atlases like PackedTextureAtlas. The ImplOpenGLTexture still tracks slots, but it is not needed to define beforehand how many slots there are. The deallocation has been factored out, ImplOpenGLTexture instead calls a callback function that a slot with a specific "slot id" has been deallocated. Change-Id: I23950d325b803969f958d03ebf34805687c4e620
2016-04-08opengl: cleanup texture, const internal formatTomaž Vajngerl
- Move IncreaseRefCount and DecreaseRefCount to texture.cxx - Add a constInternalFormat constant for the internal texture format that we want to use. Change-Id: I1c1e1f784075dc0d20b033d3bd2e52d2ffbd8252
2016-04-08opengl: fix wrong clipping when drawing textTomaž Vajngerl
Change-Id: I41a182c5309586337032328dfe82b1c6715f0dc2
2016-04-08opengl: use packed texture atlas for glyph cache in win. backendTomaž Vajngerl
Change-Id: I6a627699d49bad47213788877fa3947ad2ef83f4
2016-04-08opengl: texture atlas impl. to efficiently packs texturesTomaž Vajngerl
Change-Id: I66b3eddadb172da26aa1a62f2a795895769db93b
2016-04-08opengl: deferred and optimized (text) texture drawingTomaz Vajngerl
Switching between textures is not cheap, so minimizing the amount of switching performs better. So instead of immediate drawing we can accumulate texture draw actions and defer drawing as long as possible. After that switch all accumulated textures and draw everything needed with one GL draw call. This is beneficial for text drawing as we cache many glyphs in per textue. Change-Id: I1b94b9ac6a5f2c1a3dbbd75f4df76436a5d40f31
2016-04-08vcl: draw toolbox grip with ellipses instead of pixels, HiDPITomaž Vajngerl
Previously the non-native grip was drawn manually with filling (lots of) pixels to get kind-of 3D effect for grips. This is not ideal for HiDPI and can also be slow on certain backends. This commit simplifies grip drawing by just drawng ellipses (circles actually). This makes it easy to extend the drawing to support HiDPI scaling and it also looks better and simpler. Change-Id: I9df192b69f7f920cececf12b40c1f70342e6d485
2016-04-07tdf#97087 - Give Idles comprehensible and unique namesMuhammet Kara
Change-Id: I435d26c00f48506a3f6bfb22aae156e91636842a Reviewed-on: https://gerrit.libreoffice.org/23887 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-07Fix simple typo in SAL_INFO tdf#97087Muhammet Kara
Change-Id: I925ff84c827b668d11cff8de13b0834dafc47e28 Reviewed-on: https://gerrit.libreoffice.org/23886 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-07vcl: Make it noncopyable by deleting copy ctor & coTakeshi Abe
Change-Id: Ia141d1d48d915f1ecc0351e47d7b9700891ebad2 Reviewed-on: https://gerrit.libreoffice.org/23891 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-07gtk3: the list/combo box hack to get internal buttons no longer worksCaolán McNamara
with gtk3-3.20.2 Change-Id: I608f3476a82233cb49e0b43c95f5a984d7c89c92
2016-04-07don't need gComboBoxEntryWidget anymoreCaolán McNamara
Change-Id: Ia48817eb1476ef6479c3b8e53666e63198cc9310
2016-04-07tdf#98710 - catch exception due to crash in dwriteMarco Cecchetti
Change-Id: I448b166866710825d2b3c582796c392436fe072e Reviewed-on: https://gerrit.libreoffice.org/23892 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-04-07No need for <malloc.h> hereTor Lillqvist
Change-Id: I809143b0c2b5fe36ce01f44e6eca2f33ae36198f
2016-04-07loplugin:stringconstantStephan Bergmann
Change-Id: I35551656e5d5d65fd94d60b04e7a07cf1f4be003
2016-04-07tdf#98960 - DrawTransformedTexture adapted to the new area scale shaderMarco Cecchetti
Change-Id: I7c911f2aaccbffacfa5673b120b6177b8bea0672 Reviewed-on: https://gerrit.libreoffice.org/23864 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-04-06caught on the way out as well as the way inCaolán McNamara
Change-Id: I436c057b8e81b9dff755f5fda2c137b2d16a9751
2016-04-06revert to fix tdf#98783 missing menubarCaolán McNamara
Change-Id: Ia322149a7ed461f528af856d9907fe4620f9e97f
2016-04-06Avoid division by zeroStephan Bergmann
At least JunitTest_framework_copmlex triggered the UBSan failure > vcl/headless/svpgdi.cxx:924:46: runtime error: division by zero > #0 0x2b7114500e3b in renderSource(_cairo*, SalTwoRect const&, _cairo_surface*) vcl/headless/svpgdi.cxx:924:46 > #1 0x2b711450074c in SvpSalGraphics::copySource(SalTwoRect const&, _cairo_surface*) vcl/headless/svpgdi.cxx:937:33 > #2 0x2b7114501f37 in SvpSalGraphics::copyBits(SalTwoRect const&, SalGraphics*) vcl/headless/svpgdi.cxx:980:5 > #3 0x2b7113461871 in SalGraphics::CopyBits(SalTwoRect const&, SalGraphics*, OutputDevice const*, OutputDevice const*) vcl/source/gdi/salgdilayout.cxx:529:9 > #4 0x2b711359a1fc in VirtualDevice::InnerImplSetOutputSizePixel(Size const&, bool, unsigned char*) vcl/source/gdi/virdev.cxx:352:17 > #5 0x2b711359bef6 in VirtualDevice::ImplSetOutputSizePixel(Size const&, bool, unsigned char*) vcl/source/gdi/virdev.cxx:391:9 > #6 0x2b711359edc0 in VirtualDevice::SetOutputSizePixel(Size const&, bool) vcl/source/gdi/virdev.cxx:437:12 > #7 0x2b70fa4b6f3f in sdr::overlay::OverlayManagerBuffered::ImpPrepareBufferDevice() svx/source/sdr/overlay/overlaymanagerbuffered.cxx:45:17 > #8 0x2b70fa4c0c2c in sdr::overlay::OverlayManagerBuffered::ImpSaveBackground(vcl::Region const&, OutputDevice*) svx/source/sdr/overlay/overlaymanagerbuffered.cxx:159:13 > #9 0x2b70fa4cecab in sdr::overlay::OverlayManagerBuffered::completeRedraw(vcl::Region const&, OutputDevice*) const svx/source/sdr/overlay/overlaymanagerbuffered.cxx:414:17 > #10 0x2b70fa787fc4 in SdrPaintWindow::DrawOverlay(vcl::Region const&) svx/source/svdraw/sdrpaintwindow.cxx:334:13 > #11 0x2b70fb9d388f in SdrPaintView::EndCompleteRedraw(SdrPaintWindow&, bool) svx/source/svdraw/svdpntv.cxx:753:9 > #12 0x2b70fd77da81 in FmFormView::EndCompleteRedraw(SdrPaintWindow&, bool) svx/source/form/fmview.cxx:474:5 > #13 0x2b70fb9d64a0 in SdrPaintView::EndDrawLayers(SdrPaintWindow&, bool) svx/source/svdraw/svdpntv.cxx:789:5 > #14 0x2b7182085fe9 in SwViewShell::DLPostPaint2(bool) sw/source/core/view/viewsh.cxx:240:9 > #15 0x2b71820d94c5 in SwViewShell::Paint(OutputDevice&, Rectangle const&) sw/source/core/view/viewsh.cxx:1797:21 > #16 0x2b717c26e635 in SwCursorShell::Paint(OutputDevice&, Rectangle const&) sw/source/core/crsr/crsrsh.cxx:1273:5 > #17 0x2b71839ae182 in SwEditWin::Paint(OutputDevice&, Rectangle const&) sw/source/uibase/docvw/edtwin2.cxx:475:9 > #18 0x2b71100ee7e0 in PaintHelper::DoPaint(vcl::Region const*) vcl/source/window/paint.cxx:309:13 > #19 0x2b71100ff14a in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:611:9 > #20 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #21 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #22 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #23 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #24 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #25 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #26 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #27 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #28 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #29 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #30 0x2b7110100536 in vcl::Window::ImplCallOverlapPaint() vcl/source/window/paint.cxx:635:9 > #31 0x2b7110102811 in vcl::Window::ImplHandlePaintHdl(Idle*) vcl/source/window/paint.cxx:667:9 > #32 0x2b7110100ee7 in vcl::Window::LinkStubImplHandlePaintHdl(void*, Idle*) vcl/source/window/paint.cxx:645:1 > #33 0x2b71101446d7 in Link<Idle*, void>::Call(Idle*) const include/tools/link.hxx:84:45 > #34 0x2b711380dff9 in Idle::Invoke() vcl/source/app/idle.cxx:25:5 > #35 0x2b711385011b in ImplSchedulerData::Invoke() vcl/source/app/scheduler.cxx:45:5 > #36 0x2b71138535e5 in Scheduler::ProcessTaskScheduling(bool) vcl/source/app/scheduler.cxx:177:9 > #37 0x2b71139a90d4 in ImplYield(bool, bool, unsigned long) vcl/source/app/svapp.cxx:521:5 > #38 0x2b7113982d83 in Application::Yield() vcl/source/app/svapp.cxx:553:5 > #39 0x2b7113982b1a in Application::Execute() vcl/source/app/svapp.cxx:473:9 > #40 0x2b70df7a4294 in desktop::Desktop::DoExecute() desktop/source/app/app.cxx:1322:5 > #41 0x2b70df7aeda3 in desktop::Desktop::Main() desktop/source/app/app.cxx:1647:17 > #42 0x2b7113a0208e in ImplSVMain() vcl/source/app/svmain.cxx:172:19 > #43 0x2b7113a0f776 in SVMain() vcl/source/app/svmain.cxx:210:16 > #44 0x2b70df9e9d01 in soffice_main desktop/source/app/sofficemain.cxx:135:12 > #45 0x4f0f0c in sal_main desktop/source/app/main.c:48:15 > #46 0x4f0ee6 in main desktop/source/app/main.c:47:1 > #47 0x2b70e137057f in __libc_start_main (/lib64/libc.so.6+0x2057f) > #48 0x418f48 in _start (instdir/program/soffice.bin+0x418f48) Change-Id: I2bc4abe48c129e006582b9870229f44d2d2bb1ed
2016-04-06vcl: lstrcpynW actually takes length *including* null terminatorMichael Stahl
... which is surprising, but means that these arguments are too small. Change-Id: I9c58e7fefa30d19c701df4f04043ddb474b28986