[geda-gaf/f16] Bug 710281 - [abrt] geda-gschem-1.6.2-2.fc15: Crash upon refresh on In use tab

Chitlesh GOORAH chitlesh at fedoraproject.org
Mon Dec 5 11:26:57 UTC 2011


commit dd0a88ded3e65db5af0beab66e40d2b4f82f1ed2
Author: Chitlesh GOORAH <chitlesh at fedoraproject.org>
Date:   Mon Dec 5 12:26:47 2011 +0100

    Bug 710281 - [abrt] geda-gschem-1.6.2-2.fc15: Crash upon refresh on In use tab

 ...-334307f0c4f68f704eec422af077b9e32d37b177.patch |   58 ++++++++++++++++++++
 geda-gaf.spec                                      |   28 ++++++++--
 2 files changed, 82 insertions(+), 4 deletions(-)
---
diff --git a/gaf.git-334307f0c4f68f704eec422af077b9e32d37b177.patch b/gaf.git-334307f0c4f68f704eec422af077b9e32d37b177.patch
new file mode 100644
index 0000000..59254b9
--- /dev/null
+++ b/gaf.git-334307f0c4f68f704eec422af077b9e32d37b177.patch
@@ -0,0 +1,58 @@
+From: Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz at gmail.com>
+Date: Wed, 19 Jan 2011 22:12:49 +0000 (+0100)
+Subject: gschem: fix refresh in component seleciton dialog
+X-Git-Url: http://git.gpleda.org/?p=gaf.git;a=commitdiff_plain;h=334307f0c4f68f704eec422af077b9e32d37b177;hp=a30f00bbee18ad5140616ad6459365cb48b03ee7
+
+gschem: fix refresh in component seleciton dialog
+
+Block signal handler for GtkTreeSelection "updated" signal while the
+refreshed GtkTreeModel is installed in the GtkTreeView widget.
+
+This is necessary as x_compselect_callback_response cannot reliably
+determine whether it has been triggered by update of "library" or "in
+use" tree views.
+
+Closes-bug: lp-704829
+
+(cherry picked from commit 2e5decb6ff1601935cc1f005a312ca04b6d13dfb)
+---
+
+diff --git a/gschem/src/x_compselect.c b/gschem/src/x_compselect.c
+index 13e93f4..0917b79 100644
+--- a/gschem/src/x_compselect.c
++++ b/gschem/src/x_compselect.c
+@@ -810,6 +810,7 @@ compselect_callback_refresh_library (GtkButton *button, gpointer user_data)
+ {
+   Compselect *compselect = COMPSELECT (user_data);
+   GtkTreeModel *model;
++  GtkTreeSelection *selection;
+ 
+   /* Rescan the libraries for symbols */
+   s_clib_refresh ();
+@@ -826,11 +827,26 @@ compselect_callback_refresh_library (GtkButton *button, gpointer user_data)
+                                           compselect,
+                                           NULL);
+ 
++  /* Block handling selection updated for duration of model changes */
++  selection = gtk_tree_view_get_selection (compselect->libtreeview);
++  g_signal_handlers_block_by_func (selection,
++                                   compselect_callback_tree_selection_changed,
++                                   compselect);
++
++  /* Update the view model with signals blocked */
+   gtk_tree_view_set_model (compselect->libtreeview, model);
+ 
+   /* Refresh the "In Use" view */
+   model = create_inuse_tree_model (compselect);
++
++  /* Here we can update the model without blocking signals
++   * as this is the second (final) tree view we are updating */
+   gtk_tree_view_set_model (compselect->inusetreeview, model);
++
++  /* Unblock & fire handler for libtreeview selection */
++  g_signal_handlers_unblock_by_func (selection,
++                                     compselect_callback_tree_selection_changed,
++                                     compselect);
+ }
+ 
+ /*! \brief Creates the treeview for the "In Use" view. */
diff --git a/geda-gaf.spec b/geda-gaf.spec
index 6daaaa9..77b6713 100644
--- a/geda-gaf.spec
+++ b/geda-gaf.spec
@@ -5,15 +5,18 @@
 Name:           geda-gaf
 Epoch:          1
 Version:        1.6.2
-Release:        2%{?dist}
+Release:        4%{?dist}
 Summary:        Design Automation toolkit for electronic design
 
 Group:          Applications/Engineering
-License:        GPLv2
+License:        GPLv2+
 URL:            http://www.geda.seul.org
 Source0:        http://geda.seul.org/devel/v1.6/%{version}/%{name}-%{version}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+# Applied patch for RHBZ# 604288
+Patch0:         gaf.git-334307f0c4f68f704eec422af077b9e32d37b177.patch
+
 BuildRequires:  desktop-file-utils gettext-devel gawk intltool
 BuildRequires:  gd-devel libtool-ltdl-devel shared-mime-info
 
@@ -160,6 +163,12 @@ Several utilities for the gEDA project.
 %prep
 %setup -q
 
+%patch0 -p1 -b .RHBZ604288
+
+# Implicit DSO linking
+# undefined reference to symbol 'atan2@@GLIBC_2.0'
+sed -i "s|(gschem_LINK) \$(gschem_OBJECTS)|(gschem_LINK) -lm \$(gschem_OBJECTS)|" gschem/src/Makefile.in
+
 # rpmlint UTF-8
 for f in symbols/{AUTHORS,ChangeLog-1.0} gschem/ChangeLog; do
    iconv -f ISO-8859-1 -t UTF-8 $f > $f.tmp && \
@@ -227,7 +236,7 @@ install -pm 644 gschem/examples/README.* %{buildroot}%{_docdir}/%{name}/examples
 %{__cp} -pr utils/examples %{buildroot}%{_docdir}/%{name}/utils
 
 find %{buildroot}%{_docdir} -name 'Makefile*' -exec rm -f '{}' \;
-
+%{__rm} -f %{buildroot}%{_datadir}/mime/version
 
 %post -n geda-symbols
 update-mime-database %{_datadir}/mime &> /dev/null || :
@@ -428,6 +437,18 @@ make distcheck
 
 
 %changelog
+* Sun Dec 4 2011 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 1.6.2-4
+- Fixes RHBZ#604288, RHBZ#710281, L#704829 - Refresh on in-use tab causes crash
+
+* Sat Nov 12 2011 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 1.6.2-3
+- rebuild for rawhide
+
+* Thu Oct 20 2011 Marcela Mašláňová <mmaslano at redhat.com> - 1:1.6.2-2.2
+- rebuild with new gmp without compat lib
+
+* Tue Oct 11 2011 Peter Schiffer <pschiffe at redhat.com> - 1:1.6.2-2.1
+- rebuild with new gmp
+
 * Sat May 28 2011 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 1.6.2-2
 - Bug 604288 -  /usr/bin/gschem was killed by signal 11 (SIGSEGV)
 - Bug 670769 -Please update to gEDA/gaf 1.6.2
@@ -501,4 +522,3 @@ make distcheck
 
 * Mon Aug 28 2006 Chitlesh Goorah <chitlesh at fedoraproject.org> - 20060123-3
 - rebuilt for FC5 and later with minor fixes
-


More information about the scm-commits mailing list