summaryrefslogtreecommitdiff
path: root/gtk/gtkprivate.h
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2018-07-07 11:37:24 +0200
committerTimm Bäder <mail@baedert.org>2018-07-08 09:41:15 +0200
commitdbf32933bff50eda20684c4248ac158b76ec8b79 (patch)
tree0f7cd676b35b800eeff02615e79f3b0027ebcea7 /gtk/gtkprivate.h
parentaf8fe182c85611b35b953ffd05d65f4bdf05cc3c (diff)
downloadgtk+-dbf32933bff50eda20684c4248ac158b76ec8b79.tar.gz
main: Don't look at first GTK_DISPLAY_DEBUG_CHECK parameter...
... if none of the debug displays have any debug flags set. This way, we can ignore the first parameter to e.g. GTK_DISPLAY_NOTE, which is usually a call to gtk_widget_get_display. Before this patch, gtk_widget_get_display was the slowest part of gtk_widget_query_size_for_orientation.
Diffstat (limited to 'gtk/gtkprivate.h')
-rw-r--r--gtk/gtkprivate.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h
index 981e515010..3ecb4c36b7 100644
--- a/gtk/gtkprivate.h
+++ b/gtk/gtkprivate.h
@@ -120,10 +120,11 @@ gboolean gtk_simulate_touchscreen (void);
void gtk_set_display_debug_flags (GdkDisplay *display,
guint flags);
guint gtk_get_display_debug_flags (GdkDisplay *display);
+gboolean gtk_get_any_display_debug_flag_set (void);
#ifdef G_ENABLE_DEBUG
-#define GTK_DISPLAY_DEBUG_CHECK(display,type) G_UNLIKELY (gtk_get_display_debug_flags (display) & GTK_DEBUG_##type)
+#define GTK_DISPLAY_DEBUG_CHECK(display,type) (gtk_get_any_display_debug_flag_set () && G_UNLIKELY (gtk_get_display_debug_flags (display) & GTK_DEBUG_##type))
#define GTK_DISPLAY_NOTE(display,type,action) \
G_STMT_START { \
if (GTK_DISPLAY_DEBUG_CHECK (display,type)) { action; }; \