summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-112-libstdc++-1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium/files/chromium-112-libstdc++-1.patch')
-rw-r--r--www-client/chromium/files/chromium-112-libstdc++-1.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-112-libstdc++-1.patch b/www-client/chromium/files/chromium-112-libstdc++-1.patch
new file mode 100644
index 000000000000..36a1f94252c3
--- /dev/null
+++ b/www-client/chromium/files/chromium-112-libstdc++-1.patch
@@ -0,0 +1,59 @@
+From aaeaf2a563682f2f63196f924a842dcca42be8ef Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jdapena@igalia.com>
+Date: Tue, 07 Mar 2023 16:54:09 +0000
+Subject: [PATCH] IWYU: libstdc++ unique_ptr cast from nullptr requires declaration of type
+
+fallback_linux_ui.cc returns a nullptr as a result of several
+calls returning a std::unique_ptr of a type that has not been declared
+and that's not allowed in libstdc++ implementation.
+
+Fix build errors:
+ /usr/include/c++/12/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = ui::LinuxInputMethodContext]’:
+ /usr/include/c++/12/bits/unique_ptr.h:396:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = ui::LinuxInputMethodContext; _Dp = std::default_delete<ui::LinuxInputMethodContext>]’
+ ../../ui/linux/fallback_linux_ui.cc:35:10: required from here
+ /usr/include/c++/12/bits/unique_ptr.h:93:23: error: invalid application of ‘sizeof’ to incomplete type ‘ui::LinuxInputMethodContext’
+ 93 | static_assert(sizeof(_Tp)>0,
+ | ^~~~~~~~~~~
+ /usr/include/c++/12/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = ui::NavButtonProvider]’:
+ /usr/include/c++/12/bits/unique_ptr.h:396:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = ui::NavButtonProvider; _Dp = std::default_delete<ui::NavButtonProvider>]’
+ ../../ui/linux/fallback_linux_ui.cc:133:10: required from here
+ /usr/include/c++/12/bits/unique_ptr.h:93:23: error: invalid application of ‘sizeof’ to incomplete type ‘ui::NavButtonProvider’
+
+Bug: 957519
+Change-Id: I5e7f096003d8f5de8f5be36137ac4427799bf7a5
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4310671
+Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1113983}
+---
+
+diff --git a/ui/linux/BUILD.gn b/ui/linux/BUILD.gn
+index eb72461..8662261 100644
+--- a/ui/linux/BUILD.gn
++++ b/ui/linux/BUILD.gn
+@@ -52,6 +52,7 @@
+ deps = [
+ "//base",
+ "//ui/base:buildflags",
++ "//ui/base/ime/linux:linux",
+ "//ui/events:dom_keyboard_layout",
+ "//ui/gfx",
+ "//ui/native_theme",
+diff --git a/ui/linux/fallback_linux_ui.cc b/ui/linux/fallback_linux_ui.cc
+index ee3e7b9..5f5abee 100644
+--- a/ui/linux/fallback_linux_ui.cc
++++ b/ui/linux/fallback_linux_ui.cc
+@@ -5,11 +5,13 @@
+ #include "ui/linux/fallback_linux_ui.h"
+
+ #include "base/time/time.h"
++#include "ui/base/ime/linux/linux_input_method_context.h"
+ #include "ui/events/keycodes/dom/dom_keyboard_layout_map.h"
+ #include "ui/gfx/color_palette.h"
+ #include "ui/gfx/geometry/size.h"
+ #include "ui/gfx/image/image.h"
+ #include "ui/gfx/platform_font.h"
++#include "ui/linux/nav_button_provider.h"
+ #include "ui/native_theme/native_theme.h"
+ #include "ui/shell_dialogs/select_file_policy.h"
+ #include "ui/views/controls/textfield/textfield.h"