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>
Thu, 11 Apr 2013 22:35:38 +0000 (23:35 +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 ccde785..6b88c1e 100644 (file)
@@ -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");