Index: trunk/src_plugins/order_pcbway/pcbway.c =================================================================== --- trunk/src_plugins/order_pcbway/pcbway.c (revision 36898) +++ trunk/src_plugins/order_pcbway/pcbway.c (revision 36899) @@ -251,6 +251,26 @@ free(key); } +static void check_constraints(order_ctx_t *octx) +{ + pcbway_form_t *form = (pcbway_form_t *)octx->odata; + pcb_order_field_t *f; + + /* clear previous errors */ + if (form->has_errors) { + long n; + + for(n = 0; n < form->fields.used; n++) { + f = form->fields.array[n]; + pcb_order_field_error(octx, f, NULL); + } + form->has_errors = 0; + } + + pcb_ordc_exec(&form->ordc); +} + + static int pcbway_load_fields_(rnd_hidlib_t *hidlib, pcb_order_imp_t *imp, order_ctx_t *octx, xmlNode *root) { xmlNode *n, *v; @@ -327,10 +347,9 @@ if (strcmp(f->name, "boardLayer") == 0) f->autoload = PCB_OAL_LAYERS; else if (strcmp(f->name, "boardWidth") == 0) f->autoload = PCB_OAL_WIDTH; else if (strcmp(f->name, "boardHeight") == 0) f->autoload = PCB_OAL_HEIGHT; - else - pcbway_load_field_from_attrib(PCB, f); pcb_order_autoload_field(octx, f); + pcbway_load_field_from_attrib(PCB, f); vtp0_append(&form->fields, f); if (form->fields.used > 128) { @@ -396,25 +415,6 @@ } } -static void check_constraints(order_ctx_t *octx) -{ - pcbway_form_t *form = (pcbway_form_t *)octx->odata; - pcb_order_field_t *f; - - /* clear previous errors */ - if (form->has_errors) { - long n; - - for(n = 0; n < form->fields.used; n++) { - f = form->fields.array[n]; - pcb_order_field_error(octx, f, NULL); - } - form->has_errors = 0; - } - - pcb_ordc_exec(&form->ordc); -} - static void field_change_cb(order_ctx_t *octx, pcb_order_field_t *f) { check_constraints(octx); @@ -486,8 +486,8 @@ root = xmlDocGetRootElement(doc); if ((root != NULL) && (xmlStrcmp(root->name, (xmlChar *)"PCBWayAPI") == 0)) { octx->odata = calloc(sizeof(pcbway_form_t), 1); +#if 0 country_fn = rnd_strdup_printf("%s%cGetCountry", cachedir, RND_DIR_SEPARATOR_C); -#if 0 if (pcbway_load_countries(octx->odata, country_fn) != 0) res = -1; else @@ -500,7 +500,9 @@ rnd_message(RND_MSG_ERROR, "order_pcbway: xml error: invalid API xml: missing or bad constraint script\n"); res = -1; } +#if 0 free(country_fn); +#endif } else rnd_message(RND_MSG_ERROR, "order_pcbway: xml error: root is not \n");