gst-inspect: add pointer mark to signal and action return types that are pointers
authorJose Antonio Santos Cadenas <santoscadenas@gmail.com>
Thu, 11 Apr 2013 12:54:32 +0000 (14:54 +0200)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 13 Apr 2013 11:08:12 +0000 (12:08 +0100)
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

tools/gst-inspect.c

index 23b7c440a0aeb93f5e0ff1b8367ddb780b4ca281..d414cae928a1cc832e41da322058f4de1a3255e7 100644 (file)
@@ -884,18 +884,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");