summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorblank X <[email protected]>2021-08-31 11:50:11 +0700
committerraveit65 <[email protected]>2021-09-17 17:38:33 +0200
commit727cdfd03c7c66711f88b2b3a424b800e32e767e (patch)
tree3debfa59330ebbae279a60764a0b7f299412f38b
parent730565033fe63d81c3ac2a6c402b7d1f3b1c360b (diff)
downloadmate-polkit-727cdfd03c7c66711f88b2b3a424b800e32e767e.tar.bz2
mate-polkit-727cdfd03c7c66711f88b2b3a424b800e32e767e.tar.xz
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
-rw-r--r--src/polkitmateauthenticator.c8
1 files 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,