summaryrefslogtreecommitdiff
path: root/solenv/gdb
AgeCommit message (Collapse)Author
2023-07-17solenv: gdb: BigPtrArrayPrinter, try both 0 and 0ulMichael Stahl
Apparently commit ea858ca92488309789e83666681a358af1d9f6f6 broke it on Fedora 38, where i now get: gdb.error: No type named std::_Head_base<0ul, BlockInfo**, false>. So try both variants. Change-Id: If344077df7a6b329286bc1296446562301305946 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154525 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-06-15gdb: BigPtrArrayPrinter, add the suffix, so 0->0ulJulien Nabet
On pc Debian testing with GNU gdb (Debian 13.2-1) 13.2, I got this trying to debug tdf#131173 Thread 1 "soffice.bin" hit Breakpoint 1, SwUndoTableMerge::UndoImpl (this=0x5599a0d302b0, rContext=...) at sw/source/core/undo/untbl.cxx:1878 1878 SwStartNode* pSttNd = rDoc.GetNodes().MakeTextSection( aIdx.GetNode(), (gdb) p rDoc.GetNodes() $1 = (SwNodes &) @0x5599a0477000: {<BigPtrArray> = BigPtrArray of length 18Python Exception <class 'gdb.error'>: No type named std::_Head_base<0, BlockInfo**, false>. , m_vIndices = 0x5599a04a4478, m_rMyDoc = @0x5599a0479590, m_pEndOfPostIts = 0x5599a04739b0, m_pEndOfInserts = 0x5599a042da70, m_pEndOfAutotext = 0x5599a04764b0, m_pEndOfRedlines = 0x5599a04765e0, m_pEndOfContent = std::unique_ptr<SwNode> = {get() = 0x5599a0478d20}, m_aOutlineNodes = {<o3tl::sorted_vector<SwNode*, CompareSwOutlineNodes, o3tl::find_unique, true>> = {m_vector = std::__debug::vector of length 0, capacity 0}, static npos = 18446744073709551615}, m_bInNodesDel = false, m_bInDelUpdOutline = false} with the patch, I got: (gdb) p rDoc.GetNodes() $1 = (SwNodes &) @0x55c379492b10: {<BigPtrArray> = BigPtrArray of length 18 = { [ 0] 0x55c37948c9a0 StartNode , [ 1] 0x55c3794859a0 EndNode , [ 2] 0x55c379492bb0 StartNode , [ 3] 0x55c37948a6c0 EndNode , [ 4] 0x55c3794925a0 StartNode , [ 5] 0x55c37948ff10 EndNode , [ 6] 0x55c379492630 StartNode , [ 7] 0x55c379490040 EndNode , [ 8] 0x55c3794926c0 StartNode , [ 9] 0x55c3795bd170 TableNode , [ 10] 0x55c379606280 StartNode , [ 11] 0x55c379616ee8 TextNode "", [ 12] 0x55c37960cd70 EndNode , [ 13] 0x55c379612780 EndNode , [ 14] 0x55c3794b6628 TextNode "", [ 15] 0x55c37962d848 TextNode "", [ 16] 0x55c379616778 TextNode "", [ 17] 0x55c37948fd20 EndNode }, m_vIndices = 0x55c3794bda68, m_rMyDoc = @0x55c379492f80, m_pEndOfPostIts = 0x55c3794859a0, m_pEndOfInserts = 0x55c37948a6c0, m_pEndOfAutotext = 0x55c37948ff10, m_pEndOfRedlines = 0x55c379490040, m_pEndOfContent = std::unique_ptr<SwNode> = {get() = 0x55c37948fd20}, m_aOutlineNodes = {<o3tl::sorted_vector<SwNode*, CompareSwOutlineNodes, o3tl::find_unique, true>> = { m_vector = std::__debug::vector of length 0, capacity 0}, static npos = 18446744073709551615}, m_bInNodesDel = false, m_bInDelUpdOutline = false} Change-Id: I492b49dd1a554dc95abb0ed97fa99541c8dbd7f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153111 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-12-15fix BigInt gdb pretty-printerCaolán McNamara
since commit 9536098ff107f1096e7f710c6f1e76c5659a5482 Date: Tue Nov 17 10:15:11 2020 +0200 simplify BigInt, remove isSet and commit 33b8f7c10baead5fdd24d9b68caab54052bd00ba Date: Wed Jan 6 10:41:22 2021 +0200 bIsBig member is redundant Change-Id: I877364d4b5ed11812c34f2b5d51ec60dd6cca9de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144215 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-08Simplify some Python version comparisons a bitMike Kaganski
Change-Id: Ic1b475f4bc443a9f6e79c7c5ef36496dcf602a8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142418 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-09-24solenv: gdb: unbreak MarkBasePrinterMichael Stahl
(regression from commit b1cefa026d52fad4557d10c721fe9d5e57200bd6) Also unbreak SwXTextRangePrinter, not sure why that broke. Change-Id: I4d6f640e0b8422fcf9ae84fffabc77161311eac1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140522 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-16fix SwContentIndexPrinter pretty printerNoel Grandin
after commit 739f3bb7228fa8c33029af46093b4646f848814b Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Wed Aug 31 15:29:20 2022 +0200 improve the SwContentIndex debug pretty printer Change-Id: Ib7b30f2f7d9a33f70243d8b72357b6f9823bc397 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140062 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-01improve the SwContentIndex debug pretty printerNoel Grandin
Change-Id: I7fa4f25b285c4cf7a62e3aa4616dbbca4e1c1e76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139114 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-09tools: prefix member variables with an 'm'Chris Sherlock
Also updated debug pretty-printers Change-Id: I5204bb8f1c6a47677ad3c49d6579c090ea69aedc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137388 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-07-25rename SwIndex->SwContentIndexNoel Grandin
to help my poor brain with the different kinds of index we have floating around Change-Id: I47ed223922170687d7e07812445aed66b3218230 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137404 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-09gdb: fix SwXTextCursorPrinterMichael Stahl
m_pImpl was removed in commit cb0991e32987108d900ec7e8fcd4ce477ebc9fb4 Change-Id: I9ca0cdbca97242ace5243f140ac2e17055b3f718 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129685 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-12-03gdb: BigPtrArrayPrinter gets confused by libstdc++ std::unique_ptrMichael Stahl
It looks like this in libstdc++: <BigPtrArray> = { m_ppInf = { _M_t = { <std::__uniq_ptr_impl<BlockInfo*, std::default_delete<BlockInfo* []> >> = { _M_t = { <std::_Tuple_impl<0, BlockInfo**, std::default_delete<BlockInfo* []> >> = { <std::_Tuple_impl<1, std::default_delete<BlockInfo* []> >> = { <std::_Head_base<1, std::default_delete<BlockInfo* []>, true>> = { _M_head_impl = {<No data fields>} }, <No data fields>}, <std::_Head_base<0, BlockInfo**, false>> = { _M_head_impl = 0x567fd20 }, <No data fields>}, <No data fields>} }, <No data fields>} }, Note there are 2 _M_head_impl members, and somehow gdb 11.1-2.fc34 picks the wrong one. A manual cast to std::_Head_base<0, BlockInfo**, false> seems to help. Change-Id: I1332c2fc6eb2661d417fd92a73aed977bbb1dcea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126220 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-09-20introduce SfxItemSetFixed and use it in DefaultPropertiesNoel Grandin
DefaultProperties::SetObjectItemSet is very hot when loading shapes, and a large chunk of that cost is allocating the pool item array. So use a template class to allocate the array in-line to the class, which means it can be allocated on-stack. Change-Id: Ic53b41f35784726362de38fceb35f8634cddf0a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122310 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-05Pass context and resource string down to boost::locale separatelyNoel Grandin
because this is often on a hot path, and we can avoid the splitting and joining of strings like this. Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-15WhichRangesContainer, reduce malloc in SfxItemSetNoel Grandin
SfxItemSet shows up in perf profiles frequently, and the hottest part is the malloc of the two arrays we need. But most of the time, one of those arrays is a compile-time constant. So this change introduces (*) WhichRangesContainer, which manages whether the SfxItemSet owns the array it points at or not. (*) a static const member in svl::Items (idea from mkaganski) to store the data. Change-Id: Icb8cdbc4d54fd76739565c575e16a744515e5355 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118703 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-01GDB vcl.py: actually return a string in to_stringJan-Marek Glogowski
... and hopefully make it python2.7 compatible... definitly a "brown paperbag" fix... well it did work locally ;-) I just noticed, because Jenkins spilled some errors from GDB on hang with: Traceback (most recent call last): File "/.../instdir/program/libvcllo.so-gdb.py", line 23, in <module> module = importlib.import_module('libreoffice.' + mod) File "/.../python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/.../solenv/gdb/libreoffice/vcl.py", line 101 print('STACK', end =", ") Change-Id: I500e8fea07e9865235e37673dee6374108fefbf2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118237 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-06-29Extend and fix Scheduler GDB printerJan-Marek Glogowski
Adds a pretty printer for the whole Scheduler context and fixes an off-by-one error when dumping the ImplSchedulerData singly-linked list. Change-Id: I94129fc164986b379f33854651ff6df766eff97f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118075 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-04-29rename A field in ::Color to TNoel Grandin
because it's actually transparency, not alpha, and having proper naming helps my limited brain keep track of stuff better when debugging And have both the stream operator and the debugging printer print out alpha values, for consistency. Change-Id: I9bc9ffcb71d554603591935e4043a3fb14646ebd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114886 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-09Adapt solenv/gdb/ to old PythonStephan Bergmann
After 4a899a5f8a72ea29a6919316afe3627de9f33e95 "Fix Python deprecation warnings"e.g. <https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/70542/console> started to complain > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/libuno_sal.so.3-gdb.py", line 23, in <module> > module = importlib.import_module('libreoffice.' + mod) > File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module > __import__(name) > File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/solenv/gdb/libreoffice/sal.py", line 14, in <module> > from libreoffice.util import printing > File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/solenv/gdb/libreoffice/util/printing.py", line 10, in <module> > from collections.abc import Mapping > ImportError: No module named abc etc. when lode's bin/kill-wrapper calls gdb to obtain backtraces of hung processes. Change-Id: I4fe6c6fa97bbb455a071dd28e5c1ab33f2337a0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104119 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-24Fix Python deprecation warningsStephan Bergmann
I noticed these "DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working" now when running tests with CPPUNITTRACE='gdb --args' on Fedora 32. Change-Id: If263dacb9df5c1fffd2be2418e13e69b96070c77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103294 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-12Replace remaining uses of sal_CharJulien Nabet
+ remove sal_Char check on compilerplugins Change-Id: I0f7da14e620f0c3d031d038aa8345ba4080fb3e9 Change-Id: Ia6dba4f27b47bc9e0c89159182ad80a5aee17166 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102499 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-13Don't rely on Python's treatment of unrecognized escape sequencesMike Kaganski
According to [1]: > Changed in version 3.6: Unrecognized escape sequences produce a DeprecationWarning. > In a future Python version they will be a SyntaxWarning and eventually a SyntaxError. [1] https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals Change-Id: Ia4f79f17ccb121f423f35b1e1306d5ae285e8762 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98321 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-02-25six: upgrade release to 1.14.0 used by gdbJens Carl
Change-Id: I450f5cd83e116baab8d1750a9ed7def002e234c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89317 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-06-25remove Fraction pretty-printerNoel Grandin
no longer necessary after commit 31589bf0239679d73417902655045c48c4868016 Date: Mon Jun 24 15:02:55 2019 +0200 tdf#94677 Calc is slow opening large CSV, improve tools::Fraction Change-Id: I1c9ee043a51216f7005bf8a4bf60bb4b4e39ab61
2019-05-28six: upgrade release to 1.12.0 used by gdbJens Carl
Change-Id: I816ccde944903e0ff3ac23e92632056a3192b060 Reviewed-on: https://gerrit.libreoffice.org/73069 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-05-16Make gdb autoload template more pythonicJens Carl
Replace vim modeline with Python specific one to avoid problems with tabs and spaces, and also make code more pythonic. Change-Id: Ia0959787ceea740b5c97f500c60ef423fbed0651 Reviewed-on: https://gerrit.libreoffice.org/72375 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-04-21fix gdb helper for ColorNoel Grandin
after commit d487d6e082bc7ce652217578ffd37397a59cc3ca Date: Sat Apr 20 11:06:11 2019 +0900 rework Color to have R,G,B,A public variables Change-Id: I0ebbb071d2fad43bd49ef8421804657dfdfc446d Reviewed-on: https://gerrit.libreoffice.org/71041 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-13Fix Python exception in gdb pretty-printer basegfxJens Carl
Add single quotes around the namespace::class construct, when calling gdb.parse_and_eval(), otherwise this exception is thrown: "Python Exception <class 'gdb.error'> A syntax error in expression, near `)xxx)->count($'.:" The reason is a possible conflict with '::' referring a static variable (https://sourceware.org/gdb/onlinedocs/gdb/Variables.html). Also improved the B2DPolyPolygonPrinter::children method to avoid a segmentation fault, when accessing member m_value. Change-Id: I1c15a4b786e1e374c67ace445d28c1ce210a4c04 Reviewed-on: https://gerrit.libreoffice.org/70537 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-25fix gdb pretty printingNoel Grandin
revert part of commit 6f50961e69406a17d6ec998956a6b33208b1001b remove more rtl::OUString and OString prefixes Change-Id: I026f8175c855a20bab54940f6235bca5c91ddbab
2018-10-24remove more rtl::OUString and OString prefixesNoel Grandin
which seem to have snuck back in since the great rounds of removals. Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1 Reviewed-on: https://gerrit.libreoffice.org/62229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-04Fix SfxItemSet pretty printer after some uniqueptr conversionsKatarina Behrens
just whyyyyyyy are you people doing this, why do you gratuitously break things others rely upon for productivity?!?? I don't give a F about uniqueptrs, all I want is to be able to print this bloody SfxItemSet. It's frustrating AF Change-Id: I0b6110c1806c31a3c098fb9dc73883047191c7f9 Reviewed-on: https://gerrit.libreoffice.org/52362 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-03-14fix pretty printing of Fraction betterNoel Grandin
work-around gdb bug, and deal with different representations of std::unique_ptr in different versions of libc++. Change-Id: I02a1f49c07dbcd70e13ef6be48e20b510bf5e3fa
2018-03-14Adapt FractionPrinterStephan Bergmann
...to 048a32d903c8cc81a8836c7c7209b92e0bfd6cd7 "use unique_ptr for pImpl in tools/", exploiting intimate knowledge of libstdc++ internals as was already done in 51bb68928933bf5d72efb9193f1be6af6e72c80f "fix BigPtrArray pretty printer". Due to <https://sourceware.org/bugzilla/show_bug.cgi?id=22968> "ptype does not find inner C++ class type without -readnow", at least for me only works when gdb is invoked with -readnow. Change-Id: I365733f3c661eea2f19a9b85015aa5d50e63e6a4
2017-11-08gdb pretty-printers: avoid segfauls in B2DPolygonPrinterMichael Stahl
gdb 8.0.1 tends to sefault while evaluating the getB2DPoint() calls; it passes some obviously wrong index instead of 0. Also, add a children method to B2DPolyPolygonPrinter. Change-Id: Ifbf52ad384d1f60b26ee95f87405eff2c6f2388a
2017-09-29gdb pretty-printers: fix StringPrinterHelper for gdb 8.0Michael Stahl
Latest gdb release "lazy_string" validates the array size: Traceback (most recent call last): File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line 29, in to_string return self.make_string(data, self.encoding, len) File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line 66, in make_string return data.lazy_string(encoding, length) gdb.error: Length is larger than array size. rtl_uString has "sal_Unicode buffer[1];", which is a lie as the real size is the same as "length". Taking the address of "buffer" appears to avoid the exception. Change-Id: I85710b1adfae584ba09c8d517e9b49b290e79d8a
2017-09-15solenv: fix GDB pretty-printers for SwNodes yet againMichael Stahl
Change-Id: I1eb1efedb98979b692874ae0ec48120cb5a38188
2017-07-29Fix no longer valid commentPranav Kant
This was changed in d72aad218c9737fb19d1a835b03c13b7107a96c0 Change-Id: Ie93f603c82669ca612fbf9635a62c50e63702a85
2017-07-28Fix scheduler GDB pretty printerJan-Marek Glogowski
mbDelete is gone, as we simply check for mpTask. Change-Id: I9d451f2445fb6b978d177b45d75abde2595c5fac
2017-07-13fix BigPtrArray pretty printerNoel Grandin
after commit 64079184cc06444e9dfdb55a5c66829e929d4a59 "improve useuniqueptr loplugin to find arrays" Change-Id: I29841af65fcb0c1f92e52d9aeee164328bbb4663
2017-07-13Run Idle tasks immediatlyJan-Marek Glogowski
There is really no reason to wait a millisecond for an idle. Change-Id: I7665d5f2e7d6ba3e01290a692bbc8e42c36b9986
2017-07-13Introduce a scheduler stackJan-Marek Glogowski
While the stack removes all invoked tasks from the queue, which actively removes it from scheduling, it also helps to faster handle nested calls, as we don't have to look for the previous position to move the task to the end of the queue for the round robin. Change-Id: I358cf2492e9630f67685a2b780509edb56691830
2017-07-07re-add some gdb BigPtrArray pretty printingNoel Grandin
After commit c6902761d797253cda8b3f71f102c66108585e24 "Revert "use std::vector in BigPtrArray"" <mst_> noelgrandin: you reverted both gdb changes but only one sw change? <noelgrandin> mst_, I thought your gdb change only appliled to the std::vector? <mst_> noelgrandin: there was another std::something or other change there, one was mvInfo and the other mvData <noelgrandin> mst_, sigh, will fix that Change-Id: I3059d29b1a559eb3077f5d713be011e15e887ee0
2017-07-07Revert "use std::vector in BigPtrArray"Noel Grandin
which is causing crashes in the crashtesting in ooo119635-3.docx and ooo119568-2.docx It is definitely some kind of use-after-free error, but the compress and delete logic for BigPtrArray is too hairy for me to debug right now. This reverts commit 1eee0abd459a508a6dcf9e71cbf2c1be3725faa7. Also revert commit 4f743419a04375160437a910254c45dea396f70d "gdb pretty-printers: fix BigPtrArrayPrinter after recent std::isation" Change-Id: Id870876432a060f9347aafb43bf0df692ea24464 Reviewed-on: https://gerrit.libreoffice.org/39684 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-28gdb pretty-printers: fix BigPtrArrayPrinter after recent std::isationMichael Stahl
Change-Id: Ie98f080fbb0efb807dcb2fb7893811f68e831a8f
2017-04-04Missing str(...) when an arg is itself a css::uno::Sequence<...>Stephan Bergmann
Change-Id: I54529e7086014a2feba89eb73f3b368d36f758b8
2017-01-23Revert "used std::map in SfxItemSet"Noel Grandin
This reverts commit 2757ee9fe610e253e4ccc37423fa420004d0f388. Besides causing a performance regression, I now notice that there is code in SW that relies on iterating over two different SfxItemSet's in parallel, and assumes that missing items are returned as nullptr, which is not the case for my std::map based change. Change-Id: I2b1110350fe4c4b74e5508558e9661ef1e1a103e
2017-01-17Change Idle to be a Timer subclassJan-Marek Glogowski
Drops a lot of duplicated code, as Idle is just a convenience class for instant, mostly low priority timers. Change-Id: I847592e92e86d15ab1cab168bf0e667322e48048
2017-01-17Refactor Scheduler to add Task classJan-Marek Glogowski
Moves all the "task-specific" stuff into a Task class and just keeps the "real" static Scheduler functions in the original Scheduler class. Change-Id: I9eb02d46e2bcf1abb06af5bab1fa0ee734d1984c
2017-01-17tdf#97087 GDB pretty print the Scheduler task listJan-Marek Glogowski
In addition to the GDB pretty printer, this annotates a lot more Timers and Idles. Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c
2017-01-17used std::map in SfxItemSetNoel Grandin
instead of naked array SfxItemIter ended up needing to take copies of stuff because various code likes to iterate over the items and delete items inside the loop. The gdb pretty printer is no longer quite as pretty as it was before, but it still prints useful info. Change-Id: I59b07ea42f6b1c74798a15402970b9dbd8233dbe
2016-12-20gdb pretty printers: fix the SwXTextCursor::Impl one even moreMichael Stahl
Turns out that commit 30f3315d52df22716c086836c41465a6c4cb98b5 has removed the SwClient there a long time ago, and the SwUnoCrsr was also renamed... Change-Id: I92932130c5adbea530c39557932efce70c9f75e7