[glib] gdbus-tool: Don't repeatedly complete --signal



commit e2d98849587df03c24bea4a10c243b29ace3347d
Author: Iain Lane <iain orangesquash org uk>
Date:   Wed Feb 21 12:23:17 2018 +0000

    gdbus-tool: Don't repeatedly complete --signal
    
    In this situation:
    
      $ gdbus emit --session --object-path /org/foo/bar --sig<tab><tab><tab>
    
    We will currently insert --signal three times.
    
    We should only do that once.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=793597

 gio/gdbus-tool.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/gio/gdbus-tool.c b/gio/gdbus-tool.c
index d8f098bb1..a4275984e 100644
--- a/gio/gdbus-tool.c
+++ b/gio/gdbus-tool.c
@@ -715,10 +715,17 @@ handle_emit (gint        *argc,
     }
   if (opt_emit_signal == NULL)
     {
+      /* don't keep repeatedly completing --signal */
       if (request_completion)
-        g_print ("--signal \n");
+        {
+          if (g_strcmp0 ("--signal", completion_prev) != 0)
+            g_print ("--signal \n");
+        }
       else
-        g_printerr (_("Error: Signal name is not specified\n"));
+        {
+          g_printerr (_("Error: Signal name is not specified\n"));
+        }
+
       goto out;
     }
   if (request_completion && opt_emit_dest != NULL && opt_emit_object_path != NULL &&


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]