From 8ed0471785ab9cfb5b00982a274edffa1a17b592 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 25 Jul 2018 17:43:02 +0200 Subject: [PATCH] window: Warn when gtk_window_present_with_time() is passed 0 When 0 or GDK_CURRENT_TIME is passed to gtk_window_present_with_time(), print a warning so that the application developer knows that this isn't a supported use of the function, but carry on working for now. --- gtk/gtkwindow.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 6ce5aff113..10c5618cae 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -10529,6 +10529,7 @@ gtk_window_present_with_time (GtkWindow *window, GtkWindowPrivate *priv; GtkWidget *widget; GdkWindow *gdk_window; + static gsize warned_current_time = FALSE; g_return_if_fail (GTK_IS_WINDOW (window)); @@ -10546,6 +10547,15 @@ gtk_window_present_with_time (GtkWindow *window, /* Translate a timestamp of GDK_CURRENT_TIME appropriately */ if (timestamp == GDK_CURRENT_TIME) { + if (g_once_init_enter (&warned_current_time)) + { + gboolean warned = TRUE; + g_warning ("gtk_window_present_with_time() should not be called with 0, or " + "GDK_CURRENT_TIME as a timestamp, the timestamp should instead be " + "gathered at the time the user initiated the request for the window " + "to be shown"); + g_once_init_leave (&warned_current_time, warned); + } #ifdef GDK_WINDOWING_X11 if (GDK_IS_X11_WINDOW(gdk_window)) {