css: Fix segfault when GtkCssStyleChange is NULL on gtk_widget_real_style_updated()
https://bugzilla.gnome.org/show_bug.cgi?id=791281
This commit is contained in:
committed by
Matthias Clasen
parent
c9a54ba1c2
commit
7e253f4bd3
@ -8162,12 +8162,15 @@ static void
|
|||||||
gtk_widget_real_style_updated (GtkWidget *widget)
|
gtk_widget_real_style_updated (GtkWidget *widget)
|
||||||
{
|
{
|
||||||
GtkWidgetPrivate *priv = widget->priv;
|
GtkWidgetPrivate *priv = widget->priv;
|
||||||
|
GtkCssStyleChange *change = NULL;
|
||||||
|
|
||||||
gtk_widget_update_alpha (widget);
|
gtk_widget_update_alpha (widget);
|
||||||
|
|
||||||
if (widget->priv->context)
|
if (widget->priv->context)
|
||||||
|
change = gtk_style_context_get_change (widget->priv->context);
|
||||||
|
|
||||||
|
if (change)
|
||||||
{
|
{
|
||||||
GtkCssStyleChange *change = gtk_style_context_get_change (widget->priv->context);
|
|
||||||
const gboolean has_text = gtk_widget_peek_pango_context (widget) != NULL;
|
const gboolean has_text = gtk_widget_peek_pango_context (widget) != NULL;
|
||||||
|
|
||||||
if (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT))
|
if (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT))
|
||||||
@ -8175,8 +8178,7 @@ gtk_widget_real_style_updated (GtkWidget *widget)
|
|||||||
|
|
||||||
if (widget->priv->anchored)
|
if (widget->priv->anchored)
|
||||||
{
|
{
|
||||||
if (change == NULL ||
|
if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_SIZE) ||
|
||||||
gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_SIZE) ||
|
|
||||||
(has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT_SIZE)))
|
(has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT_SIZE)))
|
||||||
{
|
{
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
|
|||||||
Reference in New Issue
Block a user