summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2006-05-08 23:31:42 +0000
committermental <mental@users.sourceforge.net>2006-05-08 23:31:42 +0000
commit3935a9f570e6e50c8acbd0c593060776ac9c24a0 (patch)
tree5ff61d69fc76e4832c1be06dcdba02ac2224a746
parentremoved resource name from self's jid, allowing authentication against jabber... (diff)
downloadinkscape-3935a9f570e6e50c8acbd0c593060776ac9c24a0.tar.gz
inkscape-3935a9f570e6e50c8acbd0c593060776ac9c24a0.zip
use c++filt for symbol demangling if available
(bzr r778)
-rw-r--r--ChangeLog7
-rw-r--r--src/debug/Makefile_insert1
-rw-r--r--src/gc-anchored.cpp3
-rw-r--r--src/sp-object.cpp3
4 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 49f2ee0ba..03a943480 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2006-05-08 MenTaLguY <mental@rydia.net>
+ * src/debug/demangle.cpp, src/debug/demangle.h, src/sp-object.cpp,
+ src/gc-anchored.cpp:
+
+ use c++filt for symbol demangling if available
+
+2006-05-08 MenTaLguY <mental@rydia.net>
+
* src/xml/repr-util.cpp:
comments explaining namespace mapping for the broken sodipodi namespace
diff --git a/src/debug/Makefile_insert b/src/debug/Makefile_insert
index ec4e0ceea..a8bf7761e 100644
--- a/src/debug/Makefile_insert
+++ b/src/debug/Makefile_insert
@@ -5,6 +5,7 @@ debug/clean:
rm -f debug/libinkdebug.a $(debug_libinkdebug_a_OBJECTS)
debug_libinkdebug_a_SOURCES = \
+ debug/demangle.cpp debug/demangle.h \
debug/event.h \
debug/event-tracker.h \
debug/heap.cpp debug/heap.h \
diff --git a/src/gc-anchored.cpp b/src/gc-anchored.cpp
index baf36c0c9..3f4cfc12d 100644
--- a/src/gc-anchored.cpp
+++ b/src/gc-anchored.cpp
@@ -13,6 +13,7 @@
#include "gc-anchored.h"
#include "debug/event-tracker.h"
#include "debug/simple-event.h"
+#include "debug/demangle.h"
#include "util/share.h"
#include "util/format.h"
@@ -32,7 +33,7 @@ public:
{
_addProperty("base", Util::format("%p", Core::base(const_cast<Anchored *>(object))));
_addProperty("pointer", Util::format("%p", object));
- _addProperty("class", Util::share_static_string(typeid(*object).name()));
+ _addProperty("class", Debug::demangle(typeid(*object).name()));
_addProperty("new-refcount", Util::format("%d", object->_anchored_refcount() + bias));
}
};
diff --git a/src/sp-object.cpp b/src/sp-object.cpp
index fbe16e957..5e011bd04 100644
--- a/src/sp-object.cpp
+++ b/src/sp-object.cpp
@@ -45,6 +45,7 @@
#include "xml/node-fns.h"
#include "debug/event-tracker.h"
#include "debug/simple-event.h"
+#include "debug/demangle.h"
#include "util/share.h"
#include "util/format.h"
@@ -241,7 +242,7 @@ public:
: BaseRefCountEvent(name)
{
_addProperty("object", Util::format("%p", object));
- _addProperty("class", Util::share_static_string(g_type_name(G_TYPE_FROM_INSTANCE(object))));
+ _addProperty("class", Debug::demangle(g_type_name(G_TYPE_FROM_INSTANCE(object))));
_addProperty("new-refcount", Util::format("%d", G_OBJECT(object)->ref_count + bias));
}
};