Fix for Bug #197778, "gschem: embed-unembed breaks with mirrored
symbols". Adds a missing 'mirror' parameter to
o_complex_add_embedded(). The mirror flag read from a schematic file
for an embedded component was silently discarded.
---
libgeda/include/prototype.h | 2 +-
libgeda/src/o_complex_basic.c | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/libgeda/include/prototype.h b/libgeda/include/prototype.h
index 3c9f9f2..bbd3c68 100644
--- a/libgeda/include/prototype.h
+++ b/libgeda/include/prototype.h
@@ -194,7 +194,7 @@ OBJECT *o_complex_add(TOPLEVEL *toplevel, OBJECT
*object_list,
int x, int y, int angle, int mirror,
const CLibSymbol *clib_sym, const gchar *basename,
int selectable, int attribute_promotion);
-OBJECT *o_complex_add_embedded(TOPLEVEL *toplevel, OBJECT *object_list, char
type, int color, int x, int y, int angle, const gchar *basename, int
selectable);
+OBJECT *o_complex_add_embedded(TOPLEVEL *toplevel, OBJECT *object_list, char
type, int color, int x, int y, int angle, int mirror, const gchar *basename,
int selectable);
void o_complex_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
void o_complex_set_filename(TOPLEVEL *toplevel, const char *basename);
void o_complex_free_filename(TOPLEVEL *toplevel);
diff --git a/libgeda/src/o_complex_basic.c b/libgeda/src/o_complex_basic.c
index ccc64ab..7b8f673 100644
--- a/libgeda/src/o_complex_basic.c
+++ b/libgeda/src/o_complex_basic.c
@@ -615,7 +615,7 @@ OBJECT *o_complex_add(TOPLEVEL *toplevel, OBJECT
*object_list,
*
*/
OBJECT *o_complex_add_embedded(TOPLEVEL *toplevel, OBJECT *object_list,
- char type, int color, int x, int y, int angle,
+ char type, int color, int x, int y, int angle,
int mirror,
const gchar *basename, int selectable)
{
OBJECT *prim_objs=NULL;
@@ -629,7 +629,7 @@ OBJECT *o_complex_add_embedded(TOPLEVEL *toplevel, OBJECT
*object_list,
new_node->complex->y = y;
new_node->complex->angle = angle;
- new_node->complex->mirror = 0;
+ new_node->complex->mirror = mirror;
new_node->complex_basename = g_strdup(basename);
@@ -732,7 +732,7 @@ OBJECT *o_complex_read(TOPLEVEL *toplevel, OBJECT
*object_list,
object_list = o_complex_add_embedded(toplevel,
object_list, type,
- WHITE, x1, y1, angle,
+ WHITE, x1, y1, angle, mirror,
basename + 8,
selectable);
} else {
@@ -908,6 +908,7 @@ OBJECT *o_complex_copy_embedded(TOPLEVEL *toplevel, OBJECT
*list_tail,
color,
o_current->complex->x,
o_current->complex->y,
o_current->complex->angle,
+ o_current->complex->mirror,
o_current->complex_basename,
selectable);
/* deal with stuff that has changed */
--
1.5.6
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev