Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 9751) +++ trunk/src/buffer.c (revision 9752) @@ -841,10 +841,6 @@ break; case F_Save: - if (elementlist_length(&PCB_PASTEBUFFER->Data->Element) == 0) { - pcb_message(PCB_MSG_ERROR, _("Buffer has no elements!\n")); - break; - } free_name = pcb_false; if (argc <= 1) { name = pcb_gui->fileselect(_("Save Paste Buffer As ..."), Index: trunk/src_plugins/io_autotrax/write.c =================================================================== --- trunk/src_plugins/io_autotrax/write.c (revision 9751) +++ trunk/src_plugins/io_autotrax/write.c (revision 9752) @@ -43,7 +43,7 @@ int io_autotrax_write_buffer(pcb_plug_io_t *ctx, FILE * FP, pcb_buffer_t *buff) { /*fputs("io_kicad_legacy_write_buffer()", FP); */ - +#warning TODO rewrite this from kicad to autotrax or remove it fputs("PCBNEW-LibModule-V1 jan 01 jan 2016 00:00:01 CET\n",FP); fputs("Units mm\n",FP); fputs("$INDEX\n",FP); Index: trunk/src_plugins/io_kicad_legacy/write.c =================================================================== --- trunk/src_plugins/io_kicad_legacy/write.c (revision 9751) +++ trunk/src_plugins/io_kicad_legacy/write.c (revision 9752) @@ -56,6 +56,11 @@ { /*fputs("io_kicad_legacy_write_buffer()", FP); */ + if (elementlist_length(&buff->Data->Element) == 0) { + pcb_message(PCB_MSG_ERROR, "Buffer has no elements!\n"); + return -1; + } + fputs("PCBNEW-LibModule-V1 jan 01 jan 2016 00:00:01 CET\n",FP); fputs("Units mm\n",FP); fputs("$INDEX\n",FP); Index: trunk/src_plugins/io_pcb/file.c =================================================================== --- trunk/src_plugins/io_pcb/file.c (revision 9751) +++ trunk/src_plugins/io_pcb/file.c (revision 9752) @@ -592,7 +592,13 @@ pcb_printf_slot[0] = ((io_pcb_ctx_t *)(ctx->plugin_data))->write_coord_fmt; - if (!elem_only) { + if (elem_only) { + if (elementlist_length(&buff->Data->Element) == 0) { + pcb_message(PCB_MSG_ERROR, "Buffer has no elements!\n"); + return -1; + } + } + else { LayersFixup(); WriteViaData(FP, buff->Data); }