From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 74256138330 for ; Wed, 10 Jan 2018 09:03:05 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8990EE098F; Wed, 10 Jan 2018 09:03:04 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5A202E098F for ; Wed, 10 Jan 2018 09:03:04 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id CC9DC335C39 for ; Wed, 10 Jan 2018 09:03:02 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DD894151 for ; Wed, 10 Jan 2018 09:02:58 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1515574969.b3ce9a81ab6ed752bfd0a5eeee0dd3daf9b920e0.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: xfce-base/xfce4-session/, xfce-base/xfce4-session/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch xfce-base/xfce4-session/xfce4-session-4.13.0-r1.ebuild X-VCS-Directories: xfce-base/xfce4-session/files/ xfce-base/xfce4-session/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: b3ce9a81ab6ed752bfd0a5eeee0dd3daf9b920e0 X-VCS-Branch: master Date: Wed, 10 Jan 2018 09:02:58 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: c28ca386-f093-432e-ba06-98ad661134b0 X-Archives-Hash: d3bba48b894ad34d096e9a6e5b37fe00 commit: b3ce9a81ab6ed752bfd0a5eeee0dd3daf9b920e0 Author: Michał Górny gentoo org> AuthorDate: Wed Jan 10 09:01:51 2018 +0000 Commit: Michał Górny gentoo org> CommitDate: Wed Jan 10 09:02:49 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3ce9a81 xfce-base/xfce4-session: Backport autostart dialog segv fix Closes: https://bugs.gentoo.org/628324 ...e4-session-4.13.0-add-edit-autostart-segv.patch | 57 ++++++++++++++++ .../xfce4-session/xfce4-session-4.13.0-r1.ebuild | 78 ++++++++++++++++++++++ 2 files changed, 135 insertions(+) diff --git a/xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch b/xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch new file mode 100644 index 00000000000..ff5b805d322 --- /dev/null +++ b/xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch @@ -0,0 +1,57 @@ +From 193b09a9c159d1d16ad69e4298f48c2b531e9392 Mon Sep 17 00:00:00 2001 +From: Eric Koegel +Date: Mon, 1 May 2017 06:55:05 +0300 +Subject: Add/Edit Application Autostart Entries (Bug #13271) + +With xfce4-session built from git (after the gtk3 +migration work), trying to add or edit an application +autostart entry results in a segmentation fault after a +"(xfce4-session-settings:9094): Gtk-CRITICAL **: +gtk_entry_get_text: assertion 'GTK_IS_ENTRY (entry)' +failed" message. + +It appears that when the "notify::text" signal callbacks +for the "command_entry" and "name_entry" GtkEntry objects +are created, they are called immediately, before the second +GtkEntry object is created resulting in a failure in the +xfae_dialog_update() function to properly process the objects. +Thanks to ToZ for reporting and providing the fix. +--- + settings/xfae-dialog.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/settings/xfae-dialog.c b/settings/xfae-dialog.c +index af860b9..7442634 100644 +--- a/settings/xfae-dialog.c ++++ b/settings/xfae-dialog.c +@@ -98,8 +98,7 @@ xfae_dialog_init (XfaeDialog *dialog) + dialog->name_entry = g_object_new (GTK_TYPE_ENTRY, + "activates-default", TRUE, + NULL); +- g_signal_connect_swapped (G_OBJECT (dialog->name_entry), "notify::text", +- G_CALLBACK (xfae_dialog_update), dialog); ++ + gtk_grid_attach (GTK_GRID (grid), dialog->name_entry, 1, 0, 1, 1); + gtk_widget_show (dialog->name_entry); + +@@ -132,11 +131,15 @@ xfae_dialog_init (XfaeDialog *dialog) + dialog->command_entry = g_object_new (GTK_TYPE_ENTRY, + "activates-default", TRUE, + NULL); +- g_signal_connect_swapped (G_OBJECT (dialog->command_entry), "notify::text", +- G_CALLBACK (xfae_dialog_update), dialog); ++ + gtk_box_pack_start (GTK_BOX (hbox), dialog->command_entry, TRUE, TRUE, 0); + gtk_widget_show (dialog->command_entry); + ++ g_signal_connect_swapped (G_OBJECT (dialog->name_entry), "notify::text", ++ G_CALLBACK (xfae_dialog_update), dialog); ++ g_signal_connect_swapped (G_OBJECT (dialog->command_entry), "notify::text", ++ G_CALLBACK (xfae_dialog_update), dialog); ++ + button = g_object_new (GTK_TYPE_BUTTON, + "can-default", FALSE, + NULL); +-- +cgit v1.1 + diff --git a/xfce-base/xfce4-session/xfce4-session-4.13.0-r1.ebuild b/xfce-base/xfce4-session/xfce4-session-4.13.0-r1.ebuild new file mode 100644 index 00000000000..2d045a1e7c0 --- /dev/null +++ b/xfce-base/xfce4-session/xfce4-session-4.13.0-r1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit gnome2-utils + +DESCRIPTION="A session manager for the Xfce desktop environment" +HOMEPAGE="https://docs.xfce.org/xfce/xfce4-session/start" +SRC_URI="mirror://xfce/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="nls policykit systemd +xscreensaver" + +COMMON_DEPEND="x11-apps/iceauth + x11-libs/gtk+:3= + x11-libs/libSM:= + x11-libs/libwnck:3= + x11-libs/libX11:= + >=xfce-base/libxfce4util-4.12:= + >=xfce-base/libxfce4ui-4.12.1:=[gtk3(+)] + >=xfce-base/xfconf-4.12:= + policykit? ( >=sys-auth/polkit-0.102:= )" +RDEPEND="${COMMON_DEPEND} + x11-apps/xrdb + nls? ( x11-misc/xdg-user-dirs ) + xscreensaver? ( || ( + >=x11-misc/xscreensaver-5.26 + x11-misc/light-locker + >=x11-misc/xlockmore-5.43 + x11-misc/slock + x11-misc/alock[pam] + ) )" +DEPEND="${COMMON_DEPEND} + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +REQUIRED_USE="systemd? ( policykit )" + +PATCHES=( + "${FILESDIR}"/${PN}-4.10.1-alock_support_to_xflock4.patch +# TODO: this patch needs updating for the new version, and finding +# upstream bug. +# "${FILESDIR}"/${PN}-4.12.1-light-locker_support_to_xflock4.patch + + "${FILESDIR}"/${P}-add-edit-autostart-segv.patch +) + +src_configure() { + local myconf=( + $(use_enable policykit polkit) + --with-xsession-prefix="${EPREFIX}"/usr + ) + + econf "${myconf[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + local sessiondir=/etc/X11/Sessions + echo startxfce4 > "${T}"/Xfce4 || die + exeinto ${sessiondir} + doexe "${T}"/Xfce4 + dosym Xfce4 ${sessiondir}/Xfce +} + +pkg_postinst() { + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +}