[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: gaf.git: branch: master updated (1.7.0-20110116-11-g854581f)



The branch, master has been updated
       via  854581f8b60756ee6bd79b41095084215395469d (commit)
       via  2e5decb6ff1601935cc1f005a312ca04b6d13dfb (commit)
      from  ffb9395d8d138de4b7b1d92f44cfc06a494077d3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


=========
 Summary
=========

 gschem/src/x_compselect.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)


=================
 Commit Messages
=================

commit 854581f8b60756ee6bd79b41095084215395469d
Author: Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@xxxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>

    gschem: plug GList leak in create_inuse_tree_model

:100644 100644 a2d7367... c948132... M	gschem/src/x_compselect.c

commit 2e5decb6ff1601935cc1f005a312ca04b6d13dfb
Author: Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@xxxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>

    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

:100644 100644 8647a5c... a2d7367... M	gschem/src/x_compselect.c

=========
 Changes
=========

commit 854581f8b60756ee6bd79b41095084215395469d
Author: Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@xxxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>

    gschem: plug GList leak in create_inuse_tree_model

diff --git a/gschem/src/x_compselect.c b/gschem/src/x_compselect.c
index a2d7367..c948132 100644
--- a/gschem/src/x_compselect.c
+++ b/gschem/src/x_compselect.c
@@ -762,7 +762,7 @@ create_inuse_tree_model (Compselect *compselect)
                         -1);
   }
 
-  g_list_free (symlist);
+  g_list_free (symhead);
 
   return (GtkTreeModel*)store;
 }

commit 2e5decb6ff1601935cc1f005a312ca04b6d13dfb
Author: Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@xxxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>

    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

diff --git a/gschem/src/x_compselect.c b/gschem/src/x_compselect.c
index 8647a5c..a2d7367 100644
--- a/gschem/src/x_compselect.c
+++ b/gschem/src/x_compselect.c
@@ -822,6 +822,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 ();
@@ -838,11 +839,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. */




_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs