Index: chrome/browser/printing/print_dialog_gtk.cc |
diff --git a/chrome/browser/printing/print_dialog_gtk.cc b/chrome/browser/printing/print_dialog_gtk.cc |
index 3e803edff28f33be2afe1720e1c4c24da6e4342e..c3ffc903232b709c993fe0e3cdba4dd3f2421f7e 100644 |
--- a/chrome/browser/printing/print_dialog_gtk.cc |
+++ b/chrome/browser/printing/print_dialog_gtk.cc |
@@ -161,19 +161,23 @@ bool PrintDialogGtk::UpdateSettings(const DictionaryValue& settings, |
bool landscape; |
bool print_to_pdf; |
int copies; |
- int duplex_mode; |
+ DictionaryValue* duplex_info; |
+ int user_selected_duplex_value; |
std::string device_name; |
if (!settings.GetBoolean(printing::kSettingLandscape, &landscape) || |
!settings.GetBoolean(printing::kSettingCollate, &collate) || |
!settings.GetBoolean(printing::kSettingColor, &color) || |
!settings.GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf) || |
- !settings.GetInteger(printing::kSettingDuplexMode, &duplex_mode) || |
+ !settings.GetDictionary(printing::kSettingDuplexModeInfo, &duplex_info) || |
!settings.GetInteger(printing::kSettingCopies, &copies) || |
- !settings.GetString(printing::kSettingDeviceName, &device_name)) { |
+ !settings.GetString(printing::kSettingDeviceName, &device_name) || |
+ !duplex_info->GetInteger(printing::kUserSelectedDuplexValue, |
+ &user_selected_duplex_value)) { |
return false; |
} |
+ |
if (!print_to_pdf) { |
scoped_ptr<GtkPrinterList> printer_list(new GtkPrinterList); |
printer_ = printer_list->GetPrinterWithName(device_name.c_str()); |
@@ -187,7 +191,7 @@ bool PrintDialogGtk::UpdateSettings(const DictionaryValue& settings, |
gtk_print_settings_set(gtk_settings_, kCUPSColorModel, |
color ? kColor : kGrayscale); |
const char* cups_duplex_mode; |
- switch (duplex_mode) { |
+ switch (user_selected_duplex_value) { |
case printing::LONG_EDGE: |
cups_duplex_mode = kDuplexNoTumble; |
break; |