From 727cdfd03c7c66711f88b2b3a424b800e32e767e Mon Sep 17 00:00:00 2001 From: blank X Date: Tue, 31 Aug 2021 11:50:11 +0700 Subject: Fix segfault from gdk_x11_get_server_time if not on X11 This commit will call gtk_window_present_with_time (along with gdk_x11_get_server_time) if on X11, or just gtk_window_present if not to prevent a segmentation fault from occuring --- src/polkitmateauthenticator.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/polkitmateauthenticator.c b/src/polkitmateauthenticator.c index 3ba3b98..5e54c13 100644 --- a/src/polkitmateauthenticator.c +++ b/src/polkitmateauthenticator.c @@ -308,8 +308,12 @@ session_request (PolkitAgentSession *session, } gtk_widget_show_all (GTK_WIDGET (authenticator->dialog)); - gtk_window_present_with_time (GTK_WINDOW (authenticator->dialog), - gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (authenticator->dialog)))); + if (GDK_IS_X11_WINDOW (gtk_widget_get_window (GTK_WIDGET (authenticator->dialog)))) + gtk_window_present_with_time (GTK_WINDOW (authenticator->dialog), + gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (authenticator->dialog)))); + else + gtk_window_present (GTK_WINDOW (authenticator->dialog)); + password = polkit_mate_authentication_dialog_run_until_response_for_prompt (POLKIT_MATE_AUTHENTICATION_DIALOG (authenticator->dialog), modified_request, echo_on, -- cgit v1.2.1