slackbuilds_ponce/office/epdfview/epdfview-0.1.6-print-segfault.patch
2010-05-11 19:46:12 +02:00

95 lines
4.1 KiB
Diff

--- src/PrintPter.cxx (revision 262)
+++ src/PrintPter.cxx (revision 281)
@@ -231,17 +231,24 @@
view.clearPageSizeList ();
int pageSizeToSelect = 0;
- ppd_choice_t *pageSizeChoice = pageSizeOption->choices;
- for ( int currentSize = 0 ;
- currentSize < pageSizeOption->num_choices ;
- ++currentSize, ++pageSizeChoice )
- {
- const gchar *sizeName = pageSizeChoice->text;
- const gchar *sizeValue = pageSizeChoice->choice;
-
- view.addPageSize (_(sizeName), sizeValue);
- if ( pageSizeChoice->marked )
+ if ( 0 != pageSizeOption )
+ {
+ ppd_choice_t *pageSizeChoice = pageSizeOption->choices;
+ for ( int currentSize = 0 ;
+ currentSize < pageSizeOption->num_choices ;
+ ++currentSize, ++pageSizeChoice )
{
- pageSizeToSelect = currentSize;
+ const gchar *sizeName = pageSizeChoice->text;
+ const gchar *sizeValue = pageSizeChoice->choice;
+
+ view.addPageSize (_(sizeName), sizeValue);
+ if ( pageSizeChoice->marked )
+ {
+ pageSizeToSelect = currentSize;
+ }
}
+ }
+ else
+ {
+ view.addPageSize (_("A4"), "A4");
}
view.selectPageSize (pageSizeToSelect);
@@ -252,17 +259,24 @@
view.clearResolutionList ();
int resolutionToSelect = 0;
- ppd_choice_t *resolutionChoice = resolutionOption->choices;
- for ( int currentRes = 0 ;
- currentRes < resolutionOption->num_choices ;
- ++currentRes, ++resolutionChoice )
- {
- const gchar *resName = resolutionChoice->text;
- const gchar *resValue = resolutionChoice->choice;
-
- view.addResolution (_(resName), resValue);
- if ( resolutionChoice->marked )
+ if ( 0 != resolutionOption )
+ {
+ ppd_choice_t *resolutionChoice = resolutionOption->choices;
+ for ( int currentRes = 0 ;
+ currentRes < resolutionOption->num_choices ;
+ ++currentRes, ++resolutionChoice )
{
- resolutionToSelect = currentRes;
+ const gchar *resName = resolutionChoice->text;
+ const gchar *resValue = resolutionChoice->choice;
+
+ view.addResolution (_(resName), resValue);
+ if ( resolutionChoice->marked )
+ {
+ resolutionToSelect = currentRes;
+ }
}
+ }
+ else
+ {
+ view.addResolution (_("300 DPI"), "300x300dpi");
}
view.selectResolution (resolutionToSelect);
@@ -272,7 +286,7 @@
ppdFindOption (printerPPD, "ColorModel");
view.clearColorModelList ();
+ int colorModelToSelect = 0;
if ( NULL != colorModelOption )
{
- int colorModelToSelect = 0;
ppd_choice_t *colorModelChoice = colorModelOption->choices;
for ( int currentColor = 0 ;
@@ -289,5 +303,4 @@
}
}
- view.selectColorModel (colorModelToSelect);
}
else
@@ -295,4 +308,5 @@
view.addColorModel (_("Grayscale"), "Gray");
}
+ view.selectColorModel (colorModelToSelect);
ppdClose (printerPPD);
}