forked from pool/nodejs-electron
- Update to 33.3.1 * Drop 32-bit support * chromium 130.0.6723.170 * node 20.18.0 * v8 13.0 * Behavior Changed: frame properties may retrieve detached WebFrameMain instances or none at all * Behavior Changed: webContents property on login on app * Added a handler, app.setClientCertRequestPasswordHandler(handler), to help unlock cryptographic devices when a PIN is needed. * Added View.setBorderRadius(radius) for customizing the border radius of views—with compatibility for WebContentsView. * Extended navigationHistory API with 2 new functions for better history management. #42014 * see https://github.com/electron/electron/releases/tag/v33.0.0 and https://www.electronjs.org/blog/electron-33-0 for more - Disable aarch64 builds due to OBS hardware limits. Sorry. - Drop Leap 15.5 support - Drop no longer needed patches * absl-base-dynamic_annotations.patch * angle-State-constexpr.patch * chromium-124-shims.patch * color_provider-incomplete-ColorProviderInternal.patch * ConsumeRadii-linker-error.patch * Cr126-abseil-shims.patch * crashpad-use-system-abseil.patch * DesktopNativeWidgetAura-HandleActivationChanged-crash.patch * harfbuzz-replace-chromium-scoped-type.patch * harfbuzz-replace-HbScopedPointer.patch * http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch * licenses.py-FileNotFoundError.patch * native_css_paint_definition-expected-unqualified-id.patch * page_popup_controller-missing-optional.patch * partition_alloc-no-lto.patch * preview_cancel_reason-missing-string.patch * quiche-QuicIntervalDeque-no-match-for-operator-mm.patch * real_time_reporting_bindings-forward-declaration.patch * run_segmenter-missing-optional.patch * skia-system-vulkan-headers.patch * system-zlib.patch * text_decoder-missing-optional.patch * wayland-proto-31-cursor-shape.patch - Drop libaom_av1_encoder-aom37-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch and replace it with more fine-grained reverts: * aom3.10-AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR.patch * aom3.10-AV1E_SET_AUTO_TILES.patch * webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch * webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR-2.patch - Drop the following revert: * bad-font-gc0000.patch * bad-font-gc000.patch * bad-font-gc00.patch * bad-font-gc0.patch * bad-font-gc11.patch * bad-font-gc1.patch * bad-font-gc2.patch * bad-font-gc3.patch - Add bsc1224178-font-gc.patch for a proper fix for bsc#1224178 deb#1067886 - Add backported or forwardable patches to fix build errors: * account_id-missing-optional.patch * css_attr_value_tainting-missing-once_flag.patch * electron_usb_delegate-incomplete-UsbDeviceInfo.patch * exception_context-missing-variant.patch * fix-build-without-service-discovery.patch * ip_protection_data_types-missing-optional.patch * skia_image_decoder_base-missing-stack.patch * vtt_scanner-missing-variant.patch * wayland_connection-Wchanges-meaning.patch - Add patches to fix build errors due to our changes: * build-without-speech-service.patch * chromium-123-qrcode.patch * chromium-125-cloud_authenticator.patch * chromium-127-crabby.patch * chromium-129-disable-H.264-video-parser-during-demuxing.patch * chromium-130-fontations.patch * cr130-abseil-remove-unused-deps.patch * cr130-absl-base.patch * delete-old-language-detection-which-uses-tflite.patch * fix-build-without-screen-ai.patch * private_aggregation_host-uint128.patch * remove-libphonenumber.patch * system-absl_algorithm.patch * wayland_version.patch - 15.6: use bundled vulkan and spirv headers - 15.6: revert upstream changes to build with old wayland * wayland-protocol-toplevel-icon.patch * wayland-protocol-toplevel-icon-2.patch * wayland-protocol-toplevel-drag.patch - Use bundled yuv everywhere due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1237196 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=182
36 lines
1.9 KiB
Diff
36 lines
1.9 KiB
Diff
--- src/content/browser/renderer_host/render_frame_host_impl.cc.orig 2024-12-08 18:45:24.018025513 +0100
|
|
+++ src/content/browser/renderer_host/render_frame_host_impl.cc 2024-12-20 14:29:00.900380913 +0100
|
|
@@ -8,6 +8,7 @@
|
|
#include <deque>
|
|
#include <limits>
|
|
#include <memory>
|
|
+#include <new>
|
|
#include <optional>
|
|
#include <string_view>
|
|
#include <tuple>
|
|
@@ -2276,7 +2277,12 @@ RenderFrameHostImpl::~RenderFrameHostImp
|
|
// completes. Among other things, this ensures that any `SafeRef`s from
|
|
// `DocumentService` and `RenderFrameHostUserData` subclasses are still valid
|
|
// when their destructors run.
|
|
- 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
|
|
@@ -14482,7 +14488,9 @@ bool RenderFrameHostImpl::DidCommitNavig
|
|
// RenderFrameHost commits before the navigation commits. This happens
|
|
// when the current RenderFrameHost crashes before navigating to a new
|
|
// URL.
|
|
- document_associated_data_.emplace(*this,
|
|
+ // bsc#1227307 — same root cause as above
|
|
+ document_associated_data_->~DocumentAssociatedData();
|
|
+ new(&document_associated_data_) std::optional<DocumentAssociatedData>(std::in_place, *this,
|
|
navigation_request->GetDocumentToken());
|
|
} else {
|
|
// Cross-RenderFrameHost navigations that commit into a speculative
|