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

gEDA-cvs: pcb.git: branch: master updated (97c150e44a768b873946b62b36bad430c9a1b8a0)



The branch, master has been updated
       via  97c150e44a768b873946b62b36bad430c9a1b8a0 (commit)
      from  ea13d896dbead7151e9d86819c51f4d34d52c8d6 (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
=========

 src/select.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)


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

commit 97c150e44a768b873946b62b36bad430c9a1b8a0
Author: DJ Delorie <dj@xxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Don't select silk on the far side if the far side is not shown
    
    The logic for determining if a layer was "on" didn't take into
    account that the two silkscreen layers are handled differently.
    Thus, if you tried to select shown silk, you would select hidden
    silk on the other side too, unknowingly moving that around.
    
    With this patch, silk on the far side is only selected if the
    far side ("invisible" side) is shown.

:100644 100644 5240837... aa65f36... M	src/select.c

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

commit 97c150e44a768b873946b62b36bad430c9a1b8a0
Author: DJ Delorie <dj@xxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Don't select silk on the far side if the far side is not shown
    
    The logic for determining if a layer was "on" didn't take into
    account that the two silkscreen layers are handled differently.
    Thus, if you tried to select shown silk, you would select hidden
    silk on the other side too, unknowingly moving that around.
    
    With this patch, silk on the far side is only selected if the
    far side ("invisible" side) is shown.

diff --git a/src/select.c b/src/select.c
index 5240837..aa65f36 100644
--- a/src/select.c
+++ b/src/select.c
@@ -292,8 +292,19 @@ SelectBlock (BoxTypePtr Box, bool Flag)
   /* check layers */
   LAYER_LOOP(PCB->Data, max_layer + 2);
   {
-    if (! (layer->On || !Flag))
-      continue;
+    if (layer == & PCB->Data->SILKLAYER)
+      {
+	if (! (PCB->ElementOn || !Flag))
+	  continue;
+      }
+    else if (layer == & PCB->Data->BACKSILKLAYER)
+      {
+	if (! (PCB->InvisibleObjectsOn || !Flag))
+	  continue;
+      }
+    else
+      if (! (layer->On || !Flag))
+	continue;
 
     LINE_LOOP (layer);
     {




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