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 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 Precedence: bulk Try this patch: Author: DJ Delorie 2011-08-25 01:57:08 Committer: DJ Delorie 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));