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

gEDA-cvs: branch: master updated (1.1.1.20070708-31-gac47f97)



The branch, master has been updated
       via  ac47f97389af58e730dce5da19897cd0d3d152e3 (commit)
      from  66ab0ba3af15108935000d23fbf7acdc38b51257 (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
=========

 libgeda/src/o_selection.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)


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

commit ac47f97389af58e730dce5da19897cd0d3d152e3
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date:   Fri Jul 27 23:44:23 2007 +0100

    Fix unselect code to only update colors etc. when the object was selected.
    
    Fixes a regression introduced with the GedaList based selection code. When
    asked to remove an object from the selection, we must check its actually
    selected before calling o_selection_unselect() to re-color the object.

:100644 100644 5d048cd... ee7f59d... M	libgeda/src/o_selection.c

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

commit ac47f97389af58e730dce5da19897cd0d3d152e3
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date:   Fri Jul 27 23:44:23 2007 +0100

    Fix unselect code to only update colors etc. when the object was selected.
    
    Fixes a regression introduced with the GedaList based selection code. When
    asked to remove an object from the selection, we must check its actually
    selected before calling o_selection_unselect() to re-color the object.

diff --git a/libgeda/src/o_selection.c b/libgeda/src/o_selection.c
index 5d048cd..ee7f59d 100644
--- a/libgeda/src/o_selection.c
+++ b/libgeda/src/o_selection.c
@@ -84,8 +84,11 @@ void o_selection_remove(SELECTION *selection, OBJECT *o_selected )
     fprintf(stderr, "Got NULL for o_selected in o_selection_remove\n");
     return;
   }
-  o_selection_unselect( o_selected );
-  geda_list_remove( (GedaList *)selection, o_selected );
+
+  if (g_list_find( geda_list_get_glist( selection ), o_selected ) != NULL) {
+    o_selection_unselect( o_selected );
+    geda_list_remove( (GedaList *)selection, o_selected );
+  }
 }
 
 /*! \brief Unselects all the objects in the given list.




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