[arch-commits] Commit in chromium/trunk (2 files)

Evangelos Foutras foutrelis at nymeria.archlinux.org
Tue Mar 5 17:07:51 UTC 2013


    Date: Tuesday, March 5, 2013 @ 18:07:50
  Author: foutrelis
Revision: 179498

upgpkg: chromium 25.0.1364.152-2

Fix crash when CUPS is down (FS#31420)

Added:
  chromium/trunk/chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch
Modified:
  chromium/trunk/PKGBUILD

----------------------------------------------------------+
 PKGBUILD                                                 |    7 +
 chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch |   68 +++++++++++++
 2 files changed, 74 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-03-05 17:07:36 UTC (rev 179497)
+++ PKGBUILD	2013-03-05 17:07:50 UTC (rev 179498)
@@ -6,7 +6,7 @@
 
 pkgname=chromium
 pkgver=25.0.1364.152
-pkgrel=1
+pkgrel=2
 pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
 arch=('i686' 'x86_64')
 url="http://www.chromium.org/"
@@ -24,6 +24,7 @@
         chromium.default
         chromium.sh
         chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch
+        chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch
         chromium-system-libpng-r0.patch
         chromium-ppapi-r0.patch
         chromium-no-pnacl-r0.patch)
@@ -32,6 +33,7 @@
             '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
             '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
             'c1baf14121502efbc2a31b64029dcafa0e28ca5b71ad0e28a3c6342d18198615'
+            '36ff43d8e85a7eac305727057c4ffd45eb7a357ce212a4a3f153037bc34a5ace'
             'd0a8b8f5b3d25be4bd2f060422c467dc827997a0b69dfc34a6d18dc9d2f36868'
             '1f4b57670d317959bc2dc60e5d2a44aa8fc6028f7ed540cdb502fa0aa99c81bd'
             '44061e1648ac4674ad0b9990c265c96c33de435679f6854e4b54a421d81cbe6c')
@@ -50,6 +52,9 @@
   # Fix build with glibc 2.16
   patch -Np1 -i "$srcdir/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch"
 
+  # http://code.google.com/p/chromium/issues/detail?id=160574
+  patch -Np1 -i "$srcdir/chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch"
+
   # Fix compilation against system libpng (patch from Gentoo)
   patch -Np0 -i "$srcdir/chromium-system-libpng-r0.patch"
   # It somehow still manages to build against bundled libpng

Added: chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch
===================================================================
--- chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch	                        (rev 0)
+++ chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch	2013-03-05 17:07:50 UTC (rev 179498)
@@ -0,0 +1,68 @@
+From b824ad5ee90704db9942857145f04b8542924b12 Mon Sep 17 00:00:00 2001
+From: "noamsml at google.com"
+ <noamsml at google.com@0039d316-1c4b-4281-b951-d872f2087c98>
+Date: Thu, 28 Feb 2013 19:00:49 +0000
+Subject: [PATCH] Fix crash in chrome when trying to print with CUPS down
+
+This is a workaround for GTK bug https://bugzilla.gnome.org/show_bug.cgi?id=686838.
+
+Removed listing of printers when setting up default settings in native print dialog,
+as it is not necessary (behavior verified to be unchanged). Added check to ensure
+print preview dialog does not try to instantiate a printer list when selecting a
+cloud printer, as this is also unnecessary (again, no behavior change).
+
+BUG=160574
+
+
+Review URL: https://chromiumcodereview.appspot.com/12374003
+
+git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185284 0039d316-1c4b-4281-b951-d872f2087c98
+---
+ chrome/browser/printing/print_dialog_gtk.cc |   18 +++++-------------
+ 1 file changed, 5 insertions(+), 13 deletions(-)
+
+diff --git a/chrome/browser/printing/print_dialog_gtk.cc b/chrome/browser/printing/print_dialog_gtk.cc
+index 70fe427..d8cb419 100644
+--- a/chrome/browser/printing/print_dialog_gtk.cc
++++ b/chrome/browser/printing/print_dialog_gtk.cc
+@@ -130,21 +130,11 @@ PrintDialogGtk::~PrintDialogGtk() {
+ 
+ void PrintDialogGtk::UseDefaultSettings() {
+   DCHECK(!page_setup_);
++  DCHECK(!printer_);
+ 
+   // |gtk_settings_| is a new object.
+   gtk_settings_ = gtk_print_settings_new();
+-
+-  scoped_ptr<GtkPrinterList> printer_list(new GtkPrinterList);
+-  printer_ = printer_list->default_printer();
+-  if (printer_) {
+-    g_object_ref(printer_);
+-    gtk_print_settings_set_printer(gtk_settings_,
+-                                   gtk_printer_get_name(printer_));
+-    page_setup_ = gtk_printer_get_default_page_size(printer_);
+-  }
+-
+-  if (!page_setup_)
+-    page_setup_ = gtk_page_setup_new();
++  page_setup_ = gtk_page_setup_new();
+ 
+   // No page range to initialize for default settings.
+   PageRanges ranges_vector;
+@@ -173,10 +163,12 @@ bool PrintDialogGtk::UpdateSettings(const base::DictionaryValue& job_settings,
+     return false;
+   }
+ 
++  bool is_cloud_print = job_settings.HasKey(printing::kSettingCloudPrintId);
++
+   if (!gtk_settings_)
+     gtk_settings_ = gtk_print_settings_new();
+ 
+-  if (!print_to_pdf) {
++  if (!print_to_pdf && !is_cloud_print) {
+     scoped_ptr<GtkPrinterList> printer_list(new GtkPrinterList);
+     printer_ = printer_list->GetPrinterWithName(device_name.c_str());
+     if (printer_) {
+-- 
+1.7.10
+




More information about the arch-commits mailing list