diff options
Diffstat (limited to 'printing/backend/print_backend_win.cc')
-rw-r--r-- | printing/backend/print_backend_win.cc | 13 |
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( |