[Libreoffice-commits] .: Branch 'libreoffice-3-5' - 2 commits - cairo/cairo solenv/gdb

Michael Stahl mst at kemper.freedesktop.org
Sat Dec 10 12:50:23 PST 2011


 cairo/cairo/makefile.mk      |    6 +++---
 solenv/gdb/libreoffice/sw.py |   38 ++++++++++++++++++++++++++++++++++++--
 2 files changed, 39 insertions(+), 5 deletions(-)

New commits:
commit 7b96bd74978ff61c0ada8a724ae327181ce51fc7
Author: Michael Stahl <mstahl at redhat.com>
Date:   Sat Dec 10 19:32:21 2011 +0100

    solenv: pimp the gdb nodes array pretty printer
    (cherry picked from commit 9f050aa772dd8d0b26dac4ef52fb5a5bd2825d4a)

diff --git a/solenv/gdb/libreoffice/sw.py b/solenv/gdb/libreoffice/sw.py
index 2e07538..8f25522 100644
--- a/solenv/gdb/libreoffice/sw.py
+++ b/solenv/gdb/libreoffice/sw.py
@@ -48,7 +48,7 @@ class SwPaMPrinter(object):
 
     def to_string(self):
         return "%s" % (self.typename)
-        
+
     def children(self):
         point = self.value['m_pPoint'].dereference()
         mark = self.value['m_pMark'].dereference()
@@ -86,18 +86,52 @@ class BigPtrArrayPrinter(object):
             self.block_count = array['nBlock']
             self.block_pos = 0
             self.block = None
+            self.indent = ""
+            self.max_indent = "        "
             self._next_block(False)
             self._check_invariant()
 
         def __iter__(self):
             return self
 
+        def _node_value(self, node):
+            cur_indent = self.indent
+            if str(node.dynamic_type.target()) == "SwTxtNode":
+                # accessing this is completely non-obvious...
+                # also, node.dynamic_cast(node.dynamic_type) is null?
+                value = "    TextNode " + \
+                    str(node.cast(node.dynamic_type).dereference()['m_Text'])
+            elif str(node.dynamic_type.target()) == "SwOLENode":
+                value = "     OLENode "
+            elif str(node.dynamic_type.target()) == "SwGrfNode":
+                value = "     GrfNode "
+            elif str(node.dynamic_type.target()) == "SwSectionNode":
+                value = " SectionNode "
+                self.indent += " "
+            elif str(node.dynamic_type.target()) == "SwTableNode":
+                value = "   TableNode "
+                self.indent += " "
+            elif str(node.dynamic_type.target()) == "SwStartNode":
+                value = "   StartNode "
+                self.indent += " "
+            elif str(node.dynamic_type.target()) == "SwEndNode":
+                value = "     EndNode "
+                self.indent = self.indent[:-1]
+                cur_indent = self.indent
+            elif str(node.dynamic_type.target()) == "SwDummySectionNode":
+                value = "DummySctNode "
+#            return "\n[%s%4d%s] %s %s" % (cur_indent, self.pos, \
+#                                self.max_indent[len(cur_indent):], node, value)
+            return "\n[%4d] %s%s%s %s" % (self.pos, cur_indent, \
+                                node, self.max_indent[len(cur_indent):], value)
+
         def next(self):
             if self.pos == self.count:
                 raise StopIteration()
 
             name = str(self.pos)
-            value = self.block['pData'][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()
             self.pos += 1
commit 57f4258e93aeed47bf8305602ae1acd2a20154b1
Author: Michael Stahl <mstahl at redhat.com>
Date:   Sat Dec 10 00:23:42 2011 +0100

    cairo: fix RPATH:
    
    The cairo configure script is called with -Wl,-rpath,"12345ORIGIN"
    with funny results so tweak the quoting so that the $$ makes it through...
    (cherry picked from commit 408672d41b261b33fb3bbc272d25815dda0e2663)

diff --git a/cairo/cairo/makefile.mk b/cairo/cairo/makefile.mk
index fda29af..1eccae5 100644
--- a/cairo/cairo/makefile.mk
+++ b/cairo/cairo/makefile.mk
@@ -126,9 +126,9 @@ OUT2INC+=src$/cairo-quartz.h
 .ELSE
 # ----------- Unix ---------------------------------------------------------
 .IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
-cairo_LDFLAGS+=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-z,noexecstack
+cairo_LDFLAGS+=-Wl,-rpath,\$$$$ORIGIN:\$$$$ORIGIN/../ure-link/lib -Wl,-z,noexecstack
 .ELIF "$(OS)$(COM)"=="SOLARISC52"
-cairo_LDFLAGS+=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib'
+cairo_LDFLAGS+=-Wl,-R\$$$$ORIGIN:\$$$$ORIGIN/../ure-link/lib
 .ENDIF  # "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
 
 .IF "$(SYSBASE)"!=""
@@ -206,7 +206,7 @@ cairo_CFLAGS+=-g
 CONFIGURE_FLAGS+= STRIP=" "
 .ENDIF
 
-CONFIGURE_FLAGS+=CFLAGS="-I$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/inc $(cairo_CFLAGS)" LDFLAGS="-L$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/lib $(cairo_LDFLAGS)" CPPFLAGS="$(cairo_CPPFLAGS)"
+CONFIGURE_FLAGS+=CFLAGS="-I$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/inc $(cairo_CFLAGS)" LDFLAGS='-L$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/lib $(cairo_LDFLAGS)' CPPFLAGS="$(cairo_CPPFLAGS)"
 
 .ENDIF
 


More information about the Libreoffice-commits mailing list