Accepting request 204503 from X11:xfce

This fixes a crash during the encoding menu creation (bxo#10395), please consider copying to 13.1

OBS-URL: https://build.opensuse.org/request/show/204503
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfce4-terminal?expand=0&rev=7
This commit is contained in:
Tomáš Chvátal 2013-10-24 12:41:34 +00:00 committed by Git OBS Bridge
commit 522ad1301e
3 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,54 @@
From 64c9565516304fa3376890d654d41a1e162c99eb Mon Sep 17 00:00:00 2001
From: Alistair Buxton <a.j.buxton@gmail.com>
Date: Mon, 14 Oct 2013 00:41:45 +0100
Subject: [PATCH] Fix up the encoding menu creation.
Don't add non-radio items to the radio item group.
Don't leak list nodes by prepending twice to the same list.
Fixes BUG #10395.
---
terminal/terminal-encoding-action.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/terminal/terminal-encoding-action.c b/terminal/terminal-encoding-action.c
index 83242e9..77c916c 100644
--- a/terminal/terminal-encoding-action.c
+++ b/terminal/terminal-encoding-action.c
@@ -253,7 +253,7 @@ terminal_encoding_action_menu_shown (GtkWidget *menu,
/* action to reset to the default */
default_label = g_strdup_printf (_("Default (%s)"), default_charset);
item = gtk_radio_menu_item_new_with_label (groups, default_label);
- groups = g_slist_prepend (groups, item);
+ groups = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item));
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), found);
g_signal_connect (G_OBJECT (item), "activate",
@@ -267,7 +267,6 @@ terminal_encoding_action_menu_shown (GtkWidget *menu,
/* category item */
item = gtk_menu_item_new_with_label (_(terminal_encodings_names[n]));
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
- groups = g_slist_prepend (groups, item);
gtk_widget_show (item);
submenu = gtk_menu_new ();
@@ -281,7 +280,7 @@ terminal_encoding_action_menu_shown (GtkWidget *menu,
break;
item2 = gtk_radio_menu_item_new_with_label (groups, charset);
- groups = g_slist_prepend (groups, item2);
+ groups = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item2));
gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item2);
g_object_set_qdata (G_OBJECT (item2), encoding_action_quark, (gchar *) charset);
gtk_widget_show (item2);
@@ -304,7 +303,7 @@ terminal_encoding_action_menu_shown (GtkWidget *menu,
{
/* add an action with the unknown charset */
item2 = gtk_radio_menu_item_new_with_label (groups, action->current);
- groups = g_slist_prepend (groups, item2);
+ groups = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item2));
g_object_set_qdata_full (G_OBJECT (item2), encoding_action_quark,
g_strdup (action->current), g_free);
gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item2);
--
1.8.3.2

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Oct 23 18:58:44 UTC 2013 - lazy.kent@opensuse.org
- Add xfce4-terminal-fix-up-the-encoding-menu-creation.patch: Fix
up the encoding menu creation (bxo#10395).
-------------------------------------------------------------------
Sun May 5 19:21:38 UTC 2013 - gber@opensuse.org

View File

@ -25,6 +25,8 @@ License: GPL-2.0+
Group: System/X11/Terminals
Url: http://docs.xfce.org/apps/terminal/start
Source0: http://archive.xfce.org/src/apps/xfce4-terminal/0.6/%{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM xfce4-terminal-fix-up-the-encoding-menu-creation.patch bxo#10395 a.j.buxton@gmail.com -- Fix up the encoding menu creation.
Patch0: xfce4-terminal-fix-up-the-encoding-menu-creation.patch
BuildRequires: fdupes
BuildRequires: intltool
BuildRequires: update-desktop-files
@ -64,6 +66,7 @@ Provides translations to the package %{name}
%prep
%setup -q
%patch0 -p1
%build
%configure