summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2020-11-25 18:13:54 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2020-11-25 18:13:54 +0000
commitfdf2e046c3e83faf9d3b0f347b32e9dcc0415995 (patch)
tree65c6005c6c72517a9132d3d83f1ed7244e1e6ab2
parent531d57f30c128037576a123905f98634b1380f6a (diff)
downloadgtk+-fdf2e046c3e83faf9d3b0f347b32e9dcc0415995.tar.gz
a11y: Check before disconnecting selection signals
If the selection data has already been cleared we should just bail out. Fixes: #3404
-rw-r--r--gtk/a11y/gtkatspiselection.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/a11y/gtkatspiselection.c b/gtk/a11y/gtkatspiselection.c
index 6bc501e57a..adfdbf021a 100644
--- a/gtk/a11y/gtkatspiselection.c
+++ b/gtk/a11y/gtkatspiselection.c
@@ -1132,6 +1132,8 @@ gtk_atspi_disconnect_selection_signals (GtkAccessible *accessible)
SelectionChanged *changed;
changed = g_object_get_data (G_OBJECT (accessible), "accessible-selection-data");
+ if (changed == NULL)
+ return;
g_signal_handlers_disconnect_by_func (accessible, changed->changed, changed->data);
@@ -1143,6 +1145,8 @@ gtk_atspi_disconnect_selection_signals (GtkAccessible *accessible)
SelectionChanged *changed;
changed = g_object_get_data (G_OBJECT (accessible), "accessible-selection-data");
+ if (changed == NULL)
+ return;
g_signal_handlers_disconnect_by_func (notebook, changed->changed, changed->data);