summaryrefslogtreecommitdiffstats
path: root/printing/backend/print_backend_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'printing/backend/print_backend_win.cc')
-rw-r--r--printing/backend/print_backend_win.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/printing/backend/print_backend_win.cc b/printing/backend/print_backend_win.cc
index ec52c99..b23407c 100644
--- a/printing/backend/print_backend_win.cc
+++ b/printing/backend/print_backend_win.cc
@@ -213,7 +213,7 @@ bool PrintBackendWin::GetPrinterSemanticCapsAndDefaults(
const std::string& printer_name,
PrinterSemanticCapsAndDefaults* printer_info) {
ScopedPrinterHandle printer_handle;
- if (!printer_handle.OpenPrinter(base::UTF8ToWide(printer_name))) {
+ if (!printer_handle.OpenPrinter(base::UTF8ToWide(printer_name).c_str())) {
LOG(WARNING) << "Failed to open printer, error = " << GetLastError();
return false;
}
@@ -226,9 +226,8 @@ bool PrintBackendWin::GetPrinterSemanticCapsAndDefaults(
DCHECK_EQ(name, base::UTF8ToUTF16(printer_name));
PrinterSemanticCapsAndDefaults caps;
-
- scoped_ptr<DEVMODE[]> user_settings = CreateDevMode(printer_handle, NULL);
- if (user_settings) {
+ UserDefaultDevMode user_settings;
+ if (user_settings.Init(printer_handle)) {
if (user_settings.get()->dmFields & DM_COLOR)
caps.color_default = (user_settings.get()->dmColor == DMCOLOR_COLOR);
@@ -313,7 +312,7 @@ bool PrintBackendWin::GetPrinterCapsAndDefaults(
printer_info->caps_mime_type = "text/xml";
}
ScopedPrinterHandle printer_handle;
- if (printer_handle.OpenPrinter(printer_name_wide)) {
+ if (printer_handle.OpenPrinter(printer_name_wide.c_str())) {
scoped_ptr<DEVMODE[]> devmode_out(CreateDevMode(printer_handle, NULL));
if (!devmode_out)
return false;
@@ -344,7 +343,7 @@ bool PrintBackendWin::GetPrinterCapsAndDefaults(
std::string PrintBackendWin::GetPrinterDriverInfo(
const std::string& printer_name) {
ScopedPrinterHandle printer;
- if (!printer.OpenPrinter(base::UTF8ToWide(printer_name))) {
+ if (!printer.OpenPrinter(base::UTF8ToWide(printer_name).c_str())) {
return std::string();
}
return GetDriverInfo(printer);
@@ -352,7 +351,7 @@ std::string PrintBackendWin::GetPrinterDriverInfo(
bool PrintBackendWin::IsValidPrinter(const std::string& printer_name) {
ScopedPrinterHandle printer_handle;
- return printer_handle.OpenPrinter(base::UTF8ToWide(printer_name));
+ return printer_handle.OpenPrinter(base::UTF8ToWide(printer_name).c_str());
}
scoped_refptr<PrintBackend> PrintBackend::CreateInstance(