Index: chrome/browser/printing/printing_message_filter.cc |
diff --git a/chrome/browser/printing/printing_message_filter.cc b/chrome/browser/printing/printing_message_filter.cc |
index 485cff692b27bdad64eb978716563fd6ff49617a..163114bf93954f8fa294fdf1b7c886206581cc91 100644 |
--- a/chrome/browser/printing/printing_message_filter.cc |
+++ b/chrome/browser/printing/printing_message_filter.cc |
@@ -427,6 +427,8 @@ void PrintingMessageFilter::UpdateFileDescriptor(int render_view_id, int fd) { |
void PrintingMessageFilter::OnUpdatePrintSettings( |
int document_cookie, const base::DictionaryValue& job_settings, |
IPC::Message* reply_msg) { |
+ scoped_ptr<base::DictionaryValue> new_settings(job_settings.DeepCopy()); |
+ |
scoped_refptr<printing::PrinterQuery> printer_query; |
if (!profile_io_data_->printing_enabled()->GetValue()) { |
// Reply with NULL query. |
@@ -437,7 +439,7 @@ void PrintingMessageFilter::OnUpdatePrintSettings( |
if (!printer_query) |
printer_query = queue_->CreatePrinterQuery(); |
printer_query->SetSettings( |
- job_settings, |
+ new_settings.Pass(), |
base::Bind(&PrintingMessageFilter::OnUpdatePrintSettingsReply, this, |
printer_query, reply_msg)); |
} |