forked from pool/nodejs-electron
- Update to electron 29.3.1
* ABI break: NODE_MODULE_VERSION is now 121
* Chromium 122.0.6261.156
* Node 20.9.0
* V8 12.2
* The deprecated gpu-process-crashed event on app has been removed.
* The deprecated renderer-process-crashed event on app and crashed
event on WebContents and <webview> have been removed.
* Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs.
* Added new webUtils.getPathForFile method to replace File.path augmentation.
* see https://www.electronjs.org/blog/electron-29-0 and https://github.com/electron/electron/releases/tag/v29.0.0 for more
* Security fixes for Angle (CVE-2024-3516) and Compositing (CVE-2024-3157)
- Drop upstreamed patches
* atspi.patch
* chromium-117-blink-BUILD-mnemonic.patch
* local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
* node-upgrade-llhttp-to-8.patch
* policy_templates-deterministic.patch
* v8-hide-private-symbols.patch
* web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
- Add patches to fix build errors
* aarch64-Xclang.patch
* absl2023-encapsulated_web_transport-StrCat.patch
* boringssl-internal-addc-cxx.patch
* chromium-122-avoid-SFINAE-TypeConverter.patch
* chromium-122-BookmarkNode-missing-operator.patch
* distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
* distributed_point_functions-evaluate_prg_hwy-signature.patch
* fake_ssl_socket_client-Wlto-type-mismatch.patch
* grid_sizing_tree-Wchanges-meaning.patch
* hit_test_request-missing-optional.patch
* InternalAllocator-too-many-initializers.patch
* mt21_util-flax-vector-conversions.patch
* plus_address_types-missing-optional.patch
* race_network_request_write_buffer_manager-missing-optional.patch
* resolution_monitor-missing-bitset.patch
* script_promise_resolver-explicit-specialization.patch
* search_engine_choice_service-missing-optional.patch
* system-yuv.patch
- Replace abseil-remove-unused-targets.patch with chromium-122-abseil-shims.patch
- Remove dead code from third_party/
* remove-dawn.patch
* remove-openscreen.patch
* remove-password-manager-and-policy.patch
* remove-puffin.patch
* remove-rust.patch
* remove AFL-2.0, BSD-Protection and IJG from licence list,
because the relevant libraries (xdg-mime, bsdiff and iccjpeg)
are no longer shipped.
- Leap, Fedora: use bundled re2
* drop replace-StringPiece-with-string_view.patch
- Fedora 38: use bundled abseil
* drop pending_task_safety_flag-abseil-2022-nullability.patch
* drop thread_annotations-fix-build-with-system-abseil.patch
- Leap 15.5: Reverse upstream changes to build with old wayland
* wayland-proto-31-cursor-shape.patch
- Leap 15.5/6: Reverse upstream changes to build with old ffmpeg
* Cr122-ffmpeg-new-channel-layout.patch
- aarch64: reduce debuginfo due to linker OOM
OBS-URL: https://build.opensuse.org/request/show/1169276
OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=141
25 lines
1.2 KiB
Diff
25 lines
1.2 KiB
Diff
--- src/content/browser/renderer_host/render_frame_host_impl.cc.orig 2023-02-08 21:38:09.974003318 +0100
|
|
+++ src/content/browser/renderer_host/render_frame_host_impl.cc 2023-02-13 14:13:50.217792624 +0100
|
|
@@ -5,6 +5,7 @@
|
|
#include <deque>
|
|
#include <limits>
|
|
#include <memory>
|
|
+#include <new>
|
|
#include <optional>
|
|
#include <tuple>
|
|
#include <unordered_map>
|
|
@@ -1876,7 +1877,12 @@
|
|
// `DocumentService` and `RenderFrameHostUserData` subclasses are still valid
|
|
// when their destructors run.
|
|
document_associated_data_->RemoveAllServices();
|
|
- document_associated_data_.reset();
|
|
+ // HACK: Using .reset() here works on MSVC and LLVM libc++ because the std::optional
|
|
+ // is still valid while the destructor runs. This does not work on GNU libstdc++
|
|
+ // however which invalidates the optional before calling the destructor, causing a crash.
|
|
+ // Upstream bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1415154
|
|
+ document_associated_data_->~DocumentAssociatedData();
|
|
+ new(&document_associated_data_) std::optional<DocumentAssociatedData>(std::nullopt);
|
|
|
|
// If this was the last active frame in the SiteInstanceGroup, the
|
|
// DecrementActiveFrameCount call will trigger the deletion of the
|