[Libreoffice-commits] core.git: solenv/gdb

Stephan Bergmann sbergman at redhat.com
Wed Mar 14 14:03:26 UTC 2018


 solenv/gdb/libreoffice/tl.py |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 7a9a3c8941d9ebcf7660e622325c8ac28610571d
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Mar 14 14:59:47 2018 +0100

    Adapt FractionPrinter
    
    ...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

diff --git a/solenv/gdb/libreoffice/tl.py b/solenv/gdb/libreoffice/tl.py
index 2e096fc8d26c..670482027b7f 100644
--- a/solenv/gdb/libreoffice/tl.py
+++ b/solenv/gdb/libreoffice/tl.py
@@ -62,7 +62,7 @@ class FractionPrinter(object):
         self.val = val
 
     def to_string(self):
-        impl = self.val['mpImpl'].dereference()
+        impl = self.val['mpImpl']['_M_t']['_M_t']['_M_head_impl'].dereference().cast(gdb.lookup_type('Fraction::Impl'))
         numerator = impl['value']['num']
         denominator = impl['value']['den']
         if impl['valid']:


More information about the Libreoffice-commits mailing list