Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 27610) +++ trunk/src/draw.c (revision 27611) @@ -758,7 +758,6 @@ info->pcb = pcb; info->exporting = (pcb_render->exporter || pcb_render->printer); info->export_name = pcb_render->name; - info->partial_export = 0; if (info->exporting) { strcpy(info->noexport_name, "noexport:"); strncpy(info->noexport_name+9, info->export_name, sizeof(info->noexport_name)-10); @@ -1097,9 +1096,6 @@ info.xform_caller = &xform_main_exp; } - if (xform_caller != NULL) - info.partial_export |= xform_caller->partial_export; - draw_everything(&info); expose_end(&save); } Index: trunk/src/draw.h =================================================================== --- trunk/src/draw.h (revision 27610) +++ trunk/src/draw.h (revision 27611) @@ -53,7 +53,6 @@ typedef struct pcb_draw_info_s { pcb_board_t *pcb; int exporting; /* 1 if doing an export, 0 if working to screen */ - int partial_export; /* 1 if only objects with the EXPORTSEL flag should be drawn */ const char *export_name; /* name of the export plugin */ char noexport_name[64]; /* "noexport:" attribute name rendered for the current exporter */ const pcb_box_t *drawn_area; Index: trunk/src/obj_common.h =================================================================== --- trunk/src/obj_common.h (revision 27610) +++ trunk/src/obj_common.h (revision 27611) @@ -271,7 +271,7 @@ } while(0) #define pcb_hidden_floater(obj) (conf_core.editor.hide_names && PCB_FLAG_TEST(PCB_FLAG_FLOATER, (obj))) -#define pcb_partial_export(obj,info) ((info)->partial_export && (!PCB_FLAG_TEST(PCB_FLAG_EXPORTSEL, (obj)))) +#define pcb_partial_export(obj,info) (((info)->xform != NULL) && (info)->xform->partial_export && (!PCB_FLAG_TEST(PCB_FLAG_EXPORTSEL, (obj)))) /* Returns whether a subc part object is editable (not under the subc lock) */ #define pcb_subc_part_editable(pcb, obj) \