From 517a34bdc8724535cb3d8cdc2e405257a6686e3c Mon Sep 17 00:00:00 2001 From: Ondrej Holy Date: Fri, 7 Aug 2020 09:38:37 +0200 Subject: [PATCH] gtkmountoperation: Drop the new line character when splitting a message When asking for a password, the message string is split on primary and secondary if it contains a newline character. However, the newline character is currently part of both strings, which creates weird spacing between the GtkLabels. I suppose this is bug, which was not visible as in most cases (if not all) the message string hasn't contained the new line characters so far. But we are going to change that now, see GNOME/gvfs!82. Let's drop the new line character similarly as it is done when asking for a question, or showing processes in order to fix the weird spacing. --- gtk/gtkmountoperation.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c index 20dc09b097..674ab15192 100644 --- a/gtk/gtkmountoperation.c +++ b/gtk/gtkmountoperation.c @@ -576,7 +576,7 @@ gtk_mount_operation_ask_password_do_gtk (GtkMountOperation *operation, gboolean can_anonymous; guint rows; char *primary; - const char *secondary; + const char *secondary = NULL; PangoAttrList *attrs; gboolean use_header; @@ -625,17 +625,14 @@ gtk_mount_operation_ask_password_do_gtk (GtkMountOperation *operation, main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); gtk_box_append (GTK_BOX (hbox), main_vbox); - secondary = strstr (message, "\n"); - if (secondary != NULL) + primary = strstr (message, "\n"); + if (primary) { - primary = g_strndup (message, secondary - message + 1); - } - else - { - primary = g_strdup (message); + secondary = primary + 1; + primary = g_strndup (message, primary - message); } - label = gtk_label_new (primary); + label = gtk_label_new (primary != NULL ? primary : message); gtk_widget_set_halign (label, GTK_ALIGN_START); gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_label_set_wrap (GTK_LABEL (label), TRUE);