summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJose Antonio Santos Cadenas <santoscadenas@gmail.com>2013-04-11 14:54:32 +0200
committerTim-Philipp Müller <tim@centricular.net>2013-04-11 23:35:38 +0100
commit9e98492e12d5df6029a876e3797040e90a8237fd (patch)
tree62b6d3e4dbbf382b1d47255cb4c3a0dd53b90990 /tools
parentea69c642bf12f43e185ce6541f61e788016fa8c7 (diff)
gst-inspect: add pointer mark to signal and action return types that are pointers
When the return type of a signal or action is a pointer, it should have an asterisk to mark it as such. https://bugzilla.gnome.org/show_bug.cgi?id=697791
Diffstat (limited to 'tools')
-rw-r--r--tools/gst-inspect.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c
index ccde78533..6b88c1e81 100644
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
@@ -895,18 +895,29 @@ print_signal_info (GstElement * element)
for (l = found_signals; l; l = l->next) {
gchar *indent;
+ const gchar *pmark;
int indent_len;
query = (GSignalQuery *) l->data;
indent_len = strlen (query->signal_name) +
strlen (g_type_name (query->return_type)) + 24;
+
+ if (G_TYPE_FUNDAMENTAL (query->return_type) == G_TYPE_POINTER
+ || G_TYPE_IS_BOXED (query->return_type)
+ || G_TYPE_IS_OBJECT (query->return_type)) {
+ pmark = "* ";
+ indent_len += 2;
+ } else {
+ pmark = "";
+ }
+
indent = g_new0 (gchar, indent_len + 1);
memset (indent, ' ', indent_len);
- n_print (" \"%s\" : %s user_function (%s* object",
- query->signal_name,
- g_type_name (query->return_type), g_type_name (type));
+ n_print (" \"%s\" : %s %suser_function (%s* object",
+ query->signal_name, g_type_name (query->return_type), pmark,
+ g_type_name (type));
for (j = 0; j < query->n_params; j++) {
g_print (",\n");