[packages/lxsession] - gcc14 fix, rel 5

baggins baggins at pld-linux.org
Fri Aug 2 13:15:16 CEST 2024


commit 638a20416cd3fcec43c3fb679ae63d9495e28dcd
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Fri Aug 2 12:20:16 2024 +0200

    - gcc14 fix, rel 5

 gcc14-incompatible-pointer-types.patch | 89 ++++++++++++++++++++++++++++++++++
 lxsession.spec                         |  4 +-
 2 files changed, 92 insertions(+), 1 deletion(-)
---
diff --git a/lxsession.spec b/lxsession.spec
index 7208ed8..ec4c3e7 100644
--- a/lxsession.spec
+++ b/lxsession.spec
@@ -7,7 +7,7 @@ Summary:	Default session manager for LXDE
 Summary(pl.UTF-8):	Domyślny zarząda sesji dla LXDE
 Name:		lxsession
 Version:	0.5.5
-Release:	4
+Release:	5
 License:	GPL v2+
 Group:		X11/Applications
 Source0:	https://downloads.sourceforge.net/lxde/%{name}-%{version}.tar.xz
@@ -15,6 +15,7 @@ Source0:	https://downloads.sourceforge.net/lxde/%{name}-%{version}.tar.xz
 Patch0:		libayatana.patch
 Patch1:		no-keyring.patch
 Patch2:		no-dpkg.patch
+Patch3:		gcc14-incompatible-pointer-types.patch
 URL:		http://www.lxde.org/
 BuildRequires:	dbus-devel
 BuildRequires:	dbus-glib-devel
@@ -71,6 +72,7 @@ uruchomić je ponownie przy kolejnym zalogowaniu tego użytkownika.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 %{__libtoolize}
diff --git a/gcc14-incompatible-pointer-types.patch b/gcc14-incompatible-pointer-types.patch
new file mode 100644
index 0000000..5e612ed
--- /dev/null
+++ b/gcc14-incompatible-pointer-types.patch
@@ -0,0 +1,89 @@
+From a0d8f8b865ce25867983cd45720adfff33b3fdfb Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka at 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.
+---
+ lxpolkit/lxpolkit-listener.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/lxpolkit/lxpolkit-listener.c b/lxpolkit/lxpolkit-listener.c
+index 00bda42..819d2c5 100644
+--- 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
+     {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/lxsession.git/commitdiff/638a20416cd3fcec43c3fb679ae63d9495e28dcd



More information about the pld-cvs-commit mailing list