Commit d57795d4 authored by Dan Winship's avatar Dan Winship Committed by Jiří Klimeš

tui: fix NmtMacEntry validation/display

NmtMacEntry would allow you to input 1 character more than it should
have. Fix that.

Also, the code to insert ":"s automatically was bumping against some
weirdness in NmtNewtEntry that made it so that the ":" didn't get
displayed until you typed one more character after the one where it
got inserted. Hack around that by manually requesting a redraw.
parent 5ee85fe4
......@@ -82,7 +82,7 @@ mac_filter (NmtNewtEntry *entry,
NmtMacEntryPrivate *priv = NMT_MAC_ENTRY_GET_PRIVATE (entry);
if (position > priv->mac_str_length)
if (position >= priv->mac_str_length)
return FALSE;
return g_ascii_isxdigit (ch) || ch == ':';
......@@ -116,8 +116,13 @@ mac_validator (NmtNewtEntry *entry,
if (g_ascii_isxdigit (p[0]) && !p[1]) {
char *fixed = g_strdup_printf ("%.*s:%c", (int)(p - text), text, *p);
g_object_set (G_OBJECT (entry), "text", fixed, NULL);
return TRUE;
nmt_newt_entry_set_text (entry, fixed);
g_free (fixed);
/* FIXME: NmtNewtEntry doesn't correctly deal with us calling set_text()
* from inside the validator.
nmt_newt_widget_needs_rebuild (NMT_NEWT_WIDGET (entry));
return FALSE;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment