From fcd376df04d46b9bf1040db28edae080d406d5e0 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 5 Mar 2013 20:40:16 +0000 Subject: [PATCH] extra/chromium to 25.0.1364.152-2 --- extra/chromium/PKGBUILD | 8 ++- ...1364.152-fix-crash-when-cups-is-down.patch | 68 +++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 extra/chromium/chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 465759f01..b20e0aa7c 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -13,10 +13,11 @@ # - adjusted gyp flags for v7h buildarch=4 +noautobuild=1 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/" @@ -38,6 +39,7 @@ source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgna 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 @@ -47,6 +49,7 @@ sha256sums=('28daf529c355fb20253279f54f1e8507055b8ed694059d152c2d083c26be1fed' '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232' '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9' 'c1baf14121502efbc2a31b64029dcafa0e28ca5b71ad0e28a3c6342d18198615' + '36ff43d8e85a7eac305727057c4ffd45eb7a357ce212a4a3f153037bc34a5ace' 'd0a8b8f5b3d25be4bd2f060422c467dc827997a0b69dfc34a6d18dc9d2f36868' '1f4b57670d317959bc2dc60e5d2a44aa8fc6028f7ed540cdb502fa0aa99c81bd' '44061e1648ac4674ad0b9990c265c96c33de435679f6854e4b54a421d81cbe6c' @@ -61,6 +64,9 @@ build() { # 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 diff --git a/extra/chromium/chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch b/extra/chromium/chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch new file mode 100644 index 000000000..68b49e091 --- /dev/null +++ b/extra/chromium/chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch @@ -0,0 +1,68 @@ +From b824ad5ee90704db9942857145f04b8542924b12 Mon Sep 17 00:00:00 2001 +From: "noamsml@google.com" + +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 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 printer_list(new GtkPrinterList); + printer_ = printer_list->GetPrinterWithName(device_name.c_str()); + if (printer_) { +-- +1.7.10 +