wineps: Move the constraints list to a standard list.
This commit is contained in:
parent
4ff9b7f11a
commit
4dfef2ef2d
|
@ -634,6 +634,7 @@ PPD *PSDRV_ParsePPD(char *fname)
|
||||||
|
|
||||||
list_init( &ppd->InstalledFonts );
|
list_init( &ppd->InstalledFonts );
|
||||||
list_init( &ppd->PageSizes );
|
list_init( &ppd->PageSizes );
|
||||||
|
list_init( &ppd->Constraints );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Windows PostScript drivers create the following "virtual bin" for
|
* The Windows PostScript drivers create the following "virtual bin" for
|
||||||
|
@ -812,23 +813,19 @@ PPD *PSDRV_ParsePPD(char *fname)
|
||||||
ppd->LandscapeOrientation);
|
ppd->LandscapeOrientation);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(!strcmp("*UIConstraints", tuple.key)) {
|
else if(!strcmp("*UIConstraints", tuple.key))
|
||||||
|
{
|
||||||
char *start;
|
char *start;
|
||||||
CONSTRAINT *con, **insert = &ppd->Constraints;
|
CONSTRAINT *con = HeapAlloc( PSDRV_Heap, 0, sizeof(*con) );
|
||||||
|
|
||||||
while(*insert)
|
|
||||||
insert = &((*insert)->next);
|
|
||||||
|
|
||||||
con = *insert = HeapAlloc( PSDRV_Heap, HEAP_ZERO_MEMORY,
|
|
||||||
sizeof(*con) );
|
|
||||||
|
|
||||||
start = tuple.value;
|
start = tuple.value;
|
||||||
|
|
||||||
con->Feature1 = PSDRV_PPDGetWord(start, &start);
|
con->Feature1 = PSDRV_PPDGetWord(start, &start);
|
||||||
con->Value1 = PSDRV_PPDGetWord(start, &start);
|
con->Value1 = PSDRV_PPDGetWord(start, &start);
|
||||||
con->Feature2 = PSDRV_PPDGetWord(start, &start);
|
con->Feature2 = PSDRV_PPDGetWord(start, &start);
|
||||||
con->Value2 = PSDRV_PPDGetWord(start, &start);
|
con->Value2 = PSDRV_PPDGetWord(start, &start);
|
||||||
}
|
|
||||||
|
list_add_tail( &ppd->Constraints, &con->entry );
|
||||||
|
}
|
||||||
|
|
||||||
else if (!strcmp("*InputSlot", tuple.key))
|
else if (!strcmp("*InputSlot", tuple.key))
|
||||||
{
|
{
|
||||||
|
@ -992,7 +989,7 @@ PPD *PSDRV_ParsePPD(char *fname)
|
||||||
page->PaperDimension->x, page->PaperDimension->y);
|
page->PaperDimension->x, page->PaperDimension->y);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(con = ppd->Constraints; con; con = con->next)
|
LIST_FOR_EACH_ENTRY( con, &ppd->Constraints, CONSTRAINT, entry )
|
||||||
TRACE("CONSTRAINTS@ %s %s %s %s\n", con->Feature1,
|
TRACE("CONSTRAINTS@ %s %s %s %s\n", con->Feature1,
|
||||||
con->Value1, con->Feature2, con->Value2);
|
con->Value1, con->Feature2, con->Value2);
|
||||||
|
|
||||||
|
|
|
@ -168,12 +168,13 @@ typedef struct _tagOPTION { /* Treat bool as a special case of pickone */
|
||||||
struct _tagOPTION *next;
|
struct _tagOPTION *next;
|
||||||
} OPTION;
|
} OPTION;
|
||||||
|
|
||||||
typedef struct _tagCONSTRAINT {
|
typedef struct
|
||||||
|
{
|
||||||
|
struct list entry;
|
||||||
char *Feature1;
|
char *Feature1;
|
||||||
char *Value1;
|
char *Value1;
|
||||||
char *Feature2;
|
char *Feature2;
|
||||||
char *Value2;
|
char *Value2;
|
||||||
struct _tagCONSTRAINT *next;
|
|
||||||
} CONSTRAINT;
|
} CONSTRAINT;
|
||||||
|
|
||||||
typedef struct _tagINPUTSLOT {
|
typedef struct _tagINPUTSLOT {
|
||||||
|
@ -218,7 +219,7 @@ typedef struct {
|
||||||
struct list PageSizes;
|
struct list PageSizes;
|
||||||
PAGESIZE *DefaultPageSize;
|
PAGESIZE *DefaultPageSize;
|
||||||
OPTION *InstalledOptions;
|
OPTION *InstalledOptions;
|
||||||
CONSTRAINT *Constraints;
|
struct list Constraints;
|
||||||
INPUTSLOT *InputSlots;
|
INPUTSLOT *InputSlots;
|
||||||
RASTERIZEROPTION TTRasterizer;
|
RASTERIZEROPTION TTRasterizer;
|
||||||
DUPLEX *Duplexes;
|
DUPLEX *Duplexes;
|
||||||
|
|
Loading…
Reference in New Issue