widget: Only check display debug flags if the global ones are set

The gtk_widget_get_display call in this if statement is showing up in
profiles. It ends up walking up the hierarchy to the toplevel to get its
GdkScreen, etc. so it is relatively costly. Avoid that call in most
cases by first checking if the RESIZE debugging is enabled for any of
the displays and only then checking if it is enabled for the widget's
display.
This commit is contained in:
Timm Bäder
2017-10-14 07:37:06 +02:00
parent eee335557c
commit ec18661bbb

View File

@@ -5358,7 +5358,8 @@ gtk_widget_size_allocate (GtkWidget *widget,
}
#ifdef G_ENABLE_DEBUG
if (GTK_DISPLAY_DEBUG_CHECK (gtk_widget_get_display (widget), RESIZE))
if (GTK_DEBUG_CHECK (RESIZE) &&
GTK_DISPLAY_DEBUG_CHECK (gtk_widget_get_display (widget), RESIZE))
{
priv->highlight_resize = TRUE;
gtk_widget_queue_draw (widget);