https://github.com/lxde/lxsession/pull/34

From a0d8f8b865ce25867983cd45720adfff33b3fdfb Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
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
     {

