delorie.com/archives/browse.cgi   search  
Mail Archives: geda-help/2011/10/11/15:56:36

X-Authentication-Warning: delorie.com: mail set sender to geda-help-bounces using -f
Date: Tue, 11 Oct 2011 15:56:31 -0400
Message-Id: <201110111956.p9BJuVLm010307@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: geda-help AT delorie DOT com
In-reply-to: <1318353062.5503.22.camel@localhost> (message from Richard Rasker
on Tue, 11 Oct 2011 19:11:02 +0200)
Subject: Re: [geda-help] PCB segfault - project too big?
References: <1318338356 DOT 29731 DOT 2 DOT camel AT localhost>
<201110111442 DOT p9BEgtk6025142 AT envy DOT delorie DOT com> <1318353062 DOT 5503 DOT 22 DOT camel AT localhost>
Reply-To: geda-help AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-help AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

Try this patch:

Author: DJ Delorie <dj AT delorie DOT com>  2011-08-25 01:57:08
Committer: DJ Delorie <dj AT delorie DOT com>  2011-08-25 01:58:23
Parent: a354691f7088c80077658c26268ccbcdfe69356f (Fix texinfo bug in report.c patch)
Child:  12771c69eee43cd5f275a64a031f3947ab172d77 (Change Gtk layer_process() to use colors from Settings, not PCB)
Branches: master, remotes/origin/master, remotes/origin/pcb-20110918
Follows: pcb-20081128-base
Precedes: pcb-20110918-RELEASE

    Fix File->Import for elements on back side.
    
    Mirror pasted footprints when replacing back-side elements.  Also
    clear element cache when reloading the new footprint, to avoid getting a
    stale pointer.
    
    Closes-bug: lp-699331

--------------------------------- src/action.c ---------------------------------
index 93c17a2..20dbb0a 100644
@@ -7082,6 +7082,8 @@ ActionElementList (int argc, char **argv, Coord x, Coord y)
 
       er = ElementOrientation (e);
       pe = PASTEBUFFER->Data->Element->data;
+      if (!FRONT (e))
+	MirrorElementCoordinates (PASTEBUFFER->Data, pe, pe->MarkY*2 - PCB->MaxHeight);
       pr = ElementOrientation (pe);
 
       mx = e->MarkX;
@@ -7105,6 +7107,7 @@ ActionElementList (int argc, char **argv, Coord x, Coord y)
     }
 
   /* Now reload footprint */
+  element_cache = NULL;
   e = find_element_by_refdes (refdes);
 
   old = ChangeElementText (PCB, PCB->Data, e, NAMEONPCB_INDEX, strdup (refdes));

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019