From 58634685bd36e9ea11815e67200c909054ae4be7 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Feb 02 2015 07:26:29 +0000 Subject: Updated ibus-HEAD.patch to fix #1187956 IBusRegistry segv. --- diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index 50aecd5..ca841be 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -1053,3 +1053,61 @@ index 0a54058..8385aba 100644 -- 2.1.0 +From bfa4d75bac29f77828e4ed38ebec6af2e6d96144 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 2 Feb 2015 16:15:37 +0900 +Subject: [PATCH] Release registry observed_paths and components if they are + broken + +Registry caches might be broken in a disk. +--- + src/ibusregistry.c | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) + +diff --git a/src/ibusregistry.c b/src/ibusregistry.c +index 2830a08..8e9ada9 100644 +--- a/src/ibusregistry.c ++++ b/src/ibusregistry.c +@@ -1,9 +1,9 @@ + /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ + /* vim:set et sts=4: */ + /* bus - The Input Bus +- * Copyright (C) 2013 Peng Huang +- * Copyright (C) 2013 Takao Fujiwara +- * Copyright (C) 2013 Red Hat, Inc. ++ * Copyright (C) 2015 Peng Huang ++ * Copyright (C) 2015 Takao Fujiwara ++ * Copyright (C) 2015 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -374,12 +374,26 @@ ibus_registry_check_modification (IBusRegistry *registry) + g_assert (IBUS_IS_REGISTRY (registry)); + + for (p = registry->priv->observed_paths; p != NULL; p = p->next) { ++ if (!IBUS_IS_OBSERVED_PATH (p->data)) { ++ g_warning ("The registry cache of observed_paths might be " \ ++ "broken and have to generate the cache again."); ++ g_list_free_full (registry->priv->observed_paths, g_object_unref); ++ registry->priv->observed_paths = NULL; ++ return TRUE; ++ } + if (ibus_observed_path_check_modification ( + (IBusObservedPath *) p->data)) + return TRUE; + } + + for (p = registry->priv->components; p != NULL; p = p->next) { ++ if (!IBUS_IS_COMPONENT (p->data)) { ++ g_warning ("The registry cache of components might be " \ ++ "broken and have to generate the cache again."); ++ g_list_free_full (registry->priv->components, g_object_unref); ++ registry->priv->components = NULL; ++ return TRUE; ++ } + if (ibus_component_check_modification ((IBusComponent *) p->data)) + return TRUE; + } +-- +2.1.0 + diff --git a/ibus.spec b/ibus.spec index a81056f..f00c952 100644 --- a/ibus.spec +++ b/ibus.spec @@ -28,7 +28,7 @@ Name: ibus Version: 1.5.9 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPLv2+ Group: System Environment/Libraries @@ -415,6 +415,9 @@ fi %{_datadir}/gtk-doc/html/* %changelog +* Mon Feb 02 2015 Takao Fujiwara - 1.5.9-9 +- Updated ibus-HEAD.patch to fix #1187956 IBusRegistry segv. + * Thu Dec 18 2014 Takao Fujiwara - 1.5.9-8 - Updated ibus-HEAD.patch to fix #1175595 ibus-x11 freeze