[gtk: 1/2] gtkwidget: fix crashes with GTK_A11Y=none
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 1/2] gtkwidget: fix crashes with GTK_A11Y=none
- Date: Sun, 15 Nov 2020 15:23:44 +0000 (UTC)
commit b97b95b0c79547850bef7491fff0d9a3200a833b
Author: Christoph Reiter <reiter christoph gmail com>
Date: Sun Nov 15 15:59:31 2020 +0100
gtkwidget: fix crashes with GTK_A11Y=none
at_context can be NULL in that case, so guard against it.
Fixes #3333
gtk/gtkwidget.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index b71ae1a822..0b663d98dd 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -2309,7 +2309,7 @@ gtk_widget_realize_at_context (GtkWidget *self)
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (self);
GtkAccessibleRole role = priv->accessible_role;
- if (gtk_at_context_is_realized (priv->at_context))
+ if (priv->at_context == NULL || gtk_at_context_is_realized (priv->at_context))
return;
/* Realize the root ATContext first */
@@ -2383,8 +2383,11 @@ gtk_widget_unroot (GtkWidget *widget)
GTK_WIDGET_GET_CLASS (widget)->unroot (widget);
- gtk_at_context_set_display (priv->at_context, gdk_display_get_default ());
- gtk_at_context_unrealize (priv->at_context);
+ if (priv->at_context != NULL)
+ {
+ gtk_at_context_set_display (priv->at_context, gdk_display_get_default ());
+ gtk_at_context_unrealize (priv->at_context);
+ }
if (priv->context)
gtk_style_context_set_display (priv->context, gdk_display_get_default ());
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]