label: Fix crashes when executing a11y actions
authorErik Schilling <mail@ablu.org>
Wed, 31 May 2023 12:27:48 +0000 (12:27 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 31 May 2023 12:27:48 +0000 (12:27 +0000)
gtk/gtklabel.c

index bac28d66f5064c681eaec7bdc38e8053987380a9..a90b2c480be1fd45cab99c31d0e7ed159a860f83 100644 (file)
@@ -1970,10 +1970,13 @@ gtk_label_activate_link_open (GtkWidget  *widget,
                               GVariant   *parameter)
 {
   GtkLabel *self = GTK_LABEL (widget);
-  GtkLabelLink *link = self->select_info->context_link;
+  if (self->select_info)
+    {
+      GtkLabelLink *link = self->select_info->context_link;
 
-  if (link)
-    emit_activate_link (self, link);
+      if (link)
+        emit_activate_link (self, link);
+    }
 }
 
 static void
@@ -1982,17 +1985,18 @@ gtk_label_activate_link_copy (GtkWidget  *widget,
                               GVariant   *parameter)
 {
   GtkLabel *self = GTK_LABEL (widget);
-  GtkLabelLink *link = self->select_info->context_link;
-
-  if (link)
+  if (self->select_info)
     {
-      GdkClipboard *clipboard;
+      GtkLabelLink *link = self->select_info->context_link;
+
+      if (link)
+        {
+          GdkClipboard *clipboard;
 
-      clipboard = gtk_widget_get_clipboard (widget);
-      gdk_clipboard_set_text (clipboard, link->uri);
+          clipboard = gtk_widget_get_clipboard (widget);
+          gdk_clipboard_set_text (clipboard, link->uri);
+        }
     }
-  else
-    g_print ("no link ?!\n");
 }
 
 static void