- if (!strcasecmp(option, "PageSize") ||
- !strcasecmp(option, "PageRegion"))
- {
- /*
- * Mark current page size...
- */
-
- for (j = 0; j < ppd->num_sizes; j ++)
- ppd->sizes[j].marked = !strcasecmp(ppd->sizes[j].name,
- choice);
-
- /*
- * Unmark the current PageSize or PageRegion setting, as
- * appropriate...
- */
-
- if (!strcasecmp(option, "PageSize"))
- {
- if ((o = ppdFindOption(ppd, "PageRegion")) != NULL)
- for (j = 0; j < o->num_choices; j ++)
- o->choices[j].marked = 0;
- }
- else
- {
- if ((o = ppdFindOption(ppd, "PageSize")) != NULL)
- for (j = 0; j < o->num_choices; j ++)
- o->choices[j].marked = 0;
- }
- }
- else if (!strcasecmp(option, "InputSlot"))
- {
- /*
- * Unmark ManualFeed True and possibly mark ManualFeed False
- * option...
- */
-
- if ((o = ppdFindOption(ppd, "ManualFeed")) != NULL)
- for (j = 0; j < o->num_choices; j ++)
- o->choices[j].marked = !strcasecmp(o->choices[j].choice, "False");
- }
- else if (!strcasecmp(option, "ManualFeed") &&
- !strcasecmp(choice, "True"))
- {
- /*
- * Unmark InputSlot option...
- */
+ if ((o = ppdFindOption(ppd, "ManualFeed")) != NULL)
+ {
+ key.option = o;
+ if ((oldc = (ppd_choice_t *)cupsArrayFind(ppd->marked, &key)) != NULL)
+ {
+ oldc->marked = 0;
+ cupsArrayRemove(ppd->marked, oldc);
+ }
+ }
+ }
+ else if (!strcasecmp(option, "ManualFeed") &&
+ !strcasecmp(choice, "True"))
+ {
+ /*
+ * Unmark InputSlot option...
+ */