diff --git a/libwnck3.spec b/libwnck3.spec index 5aaecc4..2cd6032 100644 --- a/libwnck3.spec +++ b/libwnck3.spec @@ -3,7 +3,7 @@ Summary: Window Navigator Construction Kit Name: libwnck3 Version: 43.0 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://download.gnome.org/sources/%{source_name}/ Source0: http://download.gnome.org/sources/%{source_name}/40/%{source_name}-%{version}.tar.xz License: LGPLv2+ @@ -16,6 +16,9 @@ Patch3: libwnck_0002-icons-Use-cairo-surfaces-to-render-icons_43.patch Patch4: libwnck_0003-xutils-Change-icons-to-being-cairo-surfaces_43.patch Patch5: libwnck_0004-icons-Mark-GdkPixbuf-icons-as-deprecated_43.patch Patch6: libwnck_0005-tasklist-Add-surface-loader-function_43.patch +# fix https://gitlab.gnome.org/GNOME/libwnck/-/issues/154#note_1562760 +# https://gitlab.gnome.org/GNOME/libwnck/-/commit/07694559cc0c65ce1cca9ac33b165cef84c34d5e +Patch: libwnck_0001-Revert-xutils-Get-the-correct-PID-for-clients-inside.patch BuildRequires: gcc BuildRequires: meson @@ -79,6 +82,9 @@ developing applications that use %{name}. %changelog +* Thu Sep 29 2022 Wolfgang Ulbrich - 43.0-2 +- fix https://gitlab.gnome.org/GNOME/libwnck/-/issues/154 + * Mon Sep 19 2022 Wolfgang Ulbrich - 43.0-1 - update to 43.0 diff --git a/libwnck_0001-Revert-xutils-Get-the-correct-PID-for-clients-inside.patch b/libwnck_0001-Revert-xutils-Get-the-correct-PID-for-clients-inside.patch new file mode 100644 index 0000000..a45fc2e --- /dev/null +++ b/libwnck_0001-Revert-xutils-Get-the-correct-PID-for-clients-inside.patch @@ -0,0 +1,75 @@ +From 9c4551c67d6fe854f7d37970398f5d5c9d17c28e Mon Sep 17 00:00:00 2001 +From: raveit65 +Date: Thu, 29 Sep 2022 10:31:16 +0200 +Subject: [PATCH] Revert "xutils: Get the correct PID for clients inside PID + namespaces" + +This reverts commit 07694559cc0c65ce1cca9ac33b165cef84c34d5e. + +- fixing https://gitlab.gnome.org/GNOME/libwnck/-/issues/154#note_1562760 +--- + libwnck/xutils.c | 36 +++--------------------------------- + 1 file changed, 3 insertions(+), 33 deletions(-) + +diff --git a/libwnck/xutils.c b/libwnck/xutils.c +index 60ae7b2..f2a2d3c 100644 +--- a/libwnck/xutils.c ++++ b/libwnck/xutils.c +@@ -27,9 +27,6 @@ + #if HAVE_CAIRO_XLIB_XRENDER + #include + #endif +-#ifdef HAVE_XRES +-#include +-#endif + #include "screen.h" + #include "window.h" + #include "private.h" +@@ -1149,41 +1146,14 @@ int + _wnck_get_pid (Screen *screen, + Window xwindow) + { +- int pid = -1; +- +-#ifdef HAVE_XRES +- XResClientIdSpec client_spec; +- long client_id_count = 0; +- XResClientIdValue *client_ids = NULL; +- +- client_spec.client = xwindow; +- client_spec.mask = XRES_CLIENT_ID_PID_MASK; +- +- if (XResQueryClientIds (DisplayOfScreen (screen), 1, &client_spec, +- &client_id_count, &client_ids) == Success) +- { +- long i; +- +- for (i = 0; i < client_id_count; i++) +- { +- pid = XResGetClientPid (&client_ids[i]); +- if (pid != -1) +- break; +- } +- +- XResClientIdsDestroy (client_id_count, client_ids); +- +- if (pid != -1) +- return pid; +- } +-#endif ++ int val; + + if (!_wnck_get_cardinal (screen, xwindow, + _wnck_atom_get ("_NET_WM_PID"), +- &pid)) ++ &val)) + return 0; + else +- return pid; ++ return val; + } + + char* +-- +2.37.3 +