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

Re: gEDA-user: PCB patches (was: [PATCH 1/7] PCB localization)



Hi,

On 5/26/10, Jared Casper <jaredcasper@xxxxxxxxx> wrote:
> So since the only way to contribute to PCB seems to be to continually
> spam the list with patches, here's three patches to fix bugs in the
> bug tracker.  Comments welcome.

Here are two more patches dealing with issues similar to
0001-Fix-pr2976245-refdes-labels-in-new-layout-can-t-be-m.patch

0001 makes PCB reinserts the text into the tree when the length may be changed;
0002 aligns the default symbols on solder side (t.pcb is a test case).

> If any of the devs have any
> suggestions for how I can better contribute to PCB, I'd be glad to
> hear it.

I second.

Cheers,
Ineiev
From b7af7773d5edb9110c96f538e9b050c582d4bd56 Mon Sep 17 00:00:00 2001
From: Ineiev <ineiev@xxxxxxxxxxxxxxxx>
Date: Sat, 7 Mar 2009 08:12:21 +0300
Subject: [PATCH] misfix a bug of "edit text" action

re-insert the text object into the rtree when it's size may change

HOW TO REPRODUCE

Put a short text ("o"); change it's name (<N> in default GTK shortcuts)
to something much longer ("longlonglonglong text");

(1) zoom in at the end of the text; the text disappears
(2) click at the end of the text; the text is not selected/deselected
---
 src/change.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/change.c b/src/change.c
index 4d42bc3..70bec00 100644
--- a/src/change.c
+++ b/src/change.c
@@ -1066,10 +1066,12 @@ ChangeTextName (LayerTypePtr Layer, TextTypePtr Text)
     return (NULL);
   EraseText (Layer, Text);
   RestoreToPolygon (PCB->Data, TEXT_TYPE, Layer, Text);
+  r_delete_entry (Layer->text_tree, (BoxTypePtr) Text);
   Text->TextString = NewName;
 
   /* calculate size of the bounding box */
   SetTextBoundingBox (&PCB->Font, Text);
+  r_insert_entry (Layer->text_tree, (BoxTypePtr) Text, 0);
   ClearFromPolygon (PCB->Data, TEXT_TYPE, Layer, Text);
   DrawText (Layer, Text, 0);
   return (old);
-- 
1.6.0.4

From 90ea11d2c6aef91906a123d2da13dd29dc2c9ab2 Mon Sep 17 00:00:00 2001
From: Ineiev <ineiev@xxxxxxxxxxxxxxxx>
Date: Sat, 28 Feb 2009 11:41:20 +0300
Subject: [PATCH] misfix default symbol on solder

the symbol was shifted

HOW TO REPRODUCE

Remove a symbol from the font embedded in a PCB file;
put a text using undefined symbol in the solder layer;
rotate it

In the unpatched version the default symbol is shifted relatively
to the text; in the patched it is aligned correctly
---
 src/draw.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/draw.c b/src/draw.c
index d06813d..98d2e05 100644
--- a/src/draw.c
+++ b/src/draw.c
@@ -1594,6 +1594,14 @@ DrawTextLowLevel (TextTypePtr Text, int min_line_width)
 
 	  RotateBoxLowLevel (&defaultsymbol, 0, 0, Text->Direction);
 
+	  if (TEST_FLAG (ONSOLDERFLAG, Text))
+	  {
+	    defaultsymbol.X1 = SWAP_SIGN_X (defaultsymbol.X1);
+	    defaultsymbol.Y1 = SWAP_SIGN_Y (defaultsymbol.Y1);
+	    defaultsymbol.X2 = SWAP_SIGN_X (defaultsymbol.X2);
+	    defaultsymbol.Y2 = SWAP_SIGN_Y (defaultsymbol.Y2);
+	  }
+
 	  /* add offset and draw box */
 	  defaultsymbol.X1 += Text->X;
 	  defaultsymbol.Y1 += Text->Y;
-- 
1.6.0.4

Attachment: t.pcb
Description: Binary data


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