Avoid a possible crash in ::activate-url handlers

If the signal handler ends up changing the label text,
the link is no longer around to update the css node.
Check for this possibility to avoid a crash here.
This commit is contained in:
Matthias Clasen 2016-12-29 11:07:05 -05:00
parent 715801f302
commit 7e6820415d

View File

@ -6611,7 +6611,8 @@ emit_activate_link (GtkLabel *label,
GtkStateFlags state; GtkStateFlags state;
g_signal_emit (label, signals[ACTIVATE_LINK], 0, link->uri, &handled); g_signal_emit (label, signals[ACTIVATE_LINK], 0, link->uri, &handled);
if (handled && priv->track_links && !link->visited) if (handled && priv->track_links && !link->visited &&
priv->select_info && priv->select_info->links)
{ {
link->visited = TRUE; link->visited = TRUE;
state = gtk_css_node_get_state (link->cssnode); state = gtk_css_node_get_state (link->cssnode);