https://github.com/lxde/lxsession/pull/34 From a0d8f8b865ce25867983cd45720adfff33b3fdfb Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sun, 25 Feb 2024 16:58:43 +0900 Subject: [PATCH] Fix: support gcc14 -Werror=incompatible-pointer-types gcc14 now defaults to -Werror=incompatible-pointer-types. To support compilation with gcc14, cast GTK related objects properly. --- a/lxpolkit/lxpolkit-listener.c +++ b/lxpolkit/lxpolkit-listener.c @@ -85,13 +85,13 @@ static void on_completed(PolkitAgentSession* session, gboolean authorized, DlgDa if(!authorized && !g_cancellable_is_cancelled(data->cancellable)) { - show_msg(data->dlg, GTK_MESSAGE_ERROR, _("Authentication failed!\nWrong password?")); + show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_ERROR, _("Authentication failed!\nWrong password?")); /* initiate a new session */ g_object_unref(data->session); data->session = NULL; - gtk_entry_set_text(data->request, ""); + gtk_entry_set_text(GTK_ENTRY(data->request), ""); gtk_widget_grab_focus(data->request); - on_user_changed(data->id, data); + on_user_changed(GTK_COMBO_BOX(data->id), data); return; } g_simple_async_result_complete(data->result); @@ -106,20 +106,20 @@ static void on_request(PolkitAgentSession* session, gchar* request, gboolean ech msg = _("Password: "); else msg = request; - gtk_label_set_text(data->request_label, msg); - gtk_entry_set_visibility(data->request, echo_on); + gtk_label_set_text(GTK_LABEL(data->request_label), msg); + gtk_entry_set_visibility(GTK_ENTRY(data->request), echo_on); } static void on_show_error(PolkitAgentSession* session, gchar* text, DlgData* data) { DEBUG("on error: %s", text); - show_msg(data->dlg, GTK_MESSAGE_ERROR, text); + show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_ERROR, text); } static void on_show_info(PolkitAgentSession* session, gchar* text, DlgData* data) { DEBUG("on info: %s", text); - show_msg(data->dlg, GTK_MESSAGE_INFO, text); + show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_INFO, text); } void on_dlg_response(GtkDialog* dlg, int response, DlgData* data) @@ -127,7 +127,7 @@ void on_dlg_response(GtkDialog* dlg, int response, DlgData* data) DEBUG("on_response: %d", response); if(response == GTK_RESPONSE_OK) { - const char* request = gtk_entry_get_text(data->request); + const char* request = gtk_entry_get_text(GTK_ENTRY(data->request)); polkit_agent_session_response(data->session, request); gtk_widget_set_sensitive(data->dlg, FALSE); } @@ -195,7 +195,7 @@ static void initiate_authentication(PolkitAgentListener *listener, DEBUG("%s: %s", *p, polkit_details_lookup(details, *p)); #endif data->listener = (LXPolkitListener*)listener; - data->result = g_simple_async_result_new(listener, callback, user_data, initiate_authentication); + data->result = g_simple_async_result_new(G_OBJECT(listener), callback, user_data, initiate_authentication); data->action_id = g_strdup(action_id); data->cancellable = (GCancellable*)g_object_ref(cancellable); @@ -260,10 +260,10 @@ static void initiate_authentication(PolkitAgentListener *listener, g_free(str); } } - gtk_combo_box_set_model(data->id, GTK_TREE_MODEL(store)); + gtk_combo_box_set_model(GTK_COMBO_BOX(data->id), GTK_TREE_MODEL(store)); g_object_unref(store); /* select the fist user in the list */ - gtk_combo_box_set_active(data->id, 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(data->id), 0); } else {