summaryrefslogtreecommitdiff
path: root/solenv/gdb
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-07-07 10:53:38 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-07-07 15:18:25 +0200
commitc6902761d797253cda8b3f71f102c66108585e24 (patch)
treeb472d3d72e640ea6f24cbca935c3f0086ce04f4a /solenv/gdb
parent23978f85533e66b18ee2e9b72ad2fc71a93958a3 (diff)
Revert "use std::vector in BigPtrArray"
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>
Diffstat (limited to 'solenv/gdb')
-rw-r--r--solenv/gdb/libreoffice/sw.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/solenv/gdb/libreoffice/sw.py b/solenv/gdb/libreoffice/sw.py
index 031963f5c789..cfb3cec3eeb7 100644
--- a/solenv/gdb/libreoffice/sw.py
+++ b/solenv/gdb/libreoffice/sw.py
@@ -194,10 +194,10 @@ class BigPtrArrayPrinter(object):
class _iterator(six.Iterator):
def __init__(self, array):
- self.blocks = array['m_vpInf']['_M_impl']['_M_start']
+ self.blocks = array['m_ppInf']
self.count = array['m_nSize']
self.pos = 0
- self.block_count = array['m_vpInf']['_M_impl']['_M_finish'] - array['m_vpInf']['_M_impl']['_M_start']
+ self.block_count = array['m_nBlock']
self.block_pos = 0
self.block = None
self.indent = ""
@@ -246,7 +246,7 @@ class BigPtrArrayPrinter(object):
raise StopIteration()
name = str(self.pos)
- node = self.block['mvData']['_M_elems'][self.pos - self.block['nStart']]
+ node = self.block['pData'][self.pos - self.block['nStart']]
value = self._node_value(node)
if self.pos == self.block['nEnd']:
self._next_block()