Merged
Conversation
Add vcpkg-configuration-rhel8.json with an independent baseline that can be updated separately from the default config. The RHEL8 CI workflow copies this file over vcpkg-configuration.json before running cmake. Add vcpkg-readme.md documenting the configuration files and their usage.
Introduces a flag to track if the application is currently in its destruction phase. The `notify` method now checks this flag and, if set, delegates event processing directly to the base `QApplication::notify`. This prevents custom event handlers from attempting to access member variables that may have already been destroyed or are in an invalid state, particularly when `close()` calls on main windows might trigger events during `RiaGuiApplication`'s destruction.
Error conditions in launch() and find() now raise RipsError instead of logging and returning None, making failures explicit. Updated test to expect the exception.
Move typing import to top of file and add noqa: E402 comments to imports that must follow the sys.path.insert call.
ruff check --diff only reported fixable violations, silently passing on unfixable errors like E402. Replace with ruff check (no flags) to fail CI on all violations. Auto-fix PR creation now only triggers on failure for same-repo branches.
- Replace manual telemetry event reporting with an intentional SIGSEGV - This allows for testing the end-to-end crash reporting pipeline and signal handling instead of just simulating telemetry data
- Track pending network replies using an atomic counter - Pump the event loop in `reportCrash` to allow asynchronous telemetry requests to complete before the process terminates - Use a timeout to prevent the crash handler from hanging indefinitely if the network is unresponsive
…ions in Plot Editor For ensemble member cases used as individual sources in the Plot Editor, createAddressesIfRequired() was never called, causing allResultAddresses() to return an empty set for all non-representative realizations.
…slot disconnection The following text was seen on Ubuntu 20.24, and the text disappears after this commit: "QObject::disconnect: wildcard call disconnects from destroyed signal of QComboBox::unnamed QObject::disconnect: wildcard call disconnects from destroyed signal of QSlider::unnamed"
Add isOnGuiThread() helper and dispatch each static update method to the GUI thread via QMetaObject::invokeMethod when called from a worker thread. start()/finished() use BlockingQueuedConnection to ensure stack integrity; description/progress updates use QueuedConnection. Also prevent multiple overlapping dialogs by only reparenting the progress dialog when no operation is active.
Add OS info (os.type, os.version, os.name) to all non-crash events in reportEventAsync. Consolidate OS info and hashUsername into an anonymous namespace with a shared addOsInfo helper function.
Retrieve the active gRPC port number from the application instance and display it within the version information section of the About dialog.
Iterate per-model bounding boxes and skip models outside the camera frustum to prevent distant off-screen objects from inflating the far plane. This improves depth buffer precision and reduces z-fighting. Enforce a maximum far/near ratio of 3000.0 by pushing the near plane forward if necessary. Additionally, refine the near plane adjustment when zooming into a point of interest to prevent geometry clipping.
Use QPointer instead of unique_ptr for m_gridStatisticsDialog to avoid double-free when Qt's parent-child mechanism deletes the dialog before Rim3dOverlayInfoConfig destructor runs.
Add NULL stream guards in fortio_ftell and fortio_fseek__ to prevent SIGSEGV when fortio->stream is NULL during ecl_file_scan. This mirrors the defensive fix applied to ESmry::loadData for UNSMRY files.
m_osduConnector and m_sumoConnector are created with RiuMainWindow as parent, so Qt deletes them when the main window is destroyed. The explicit delete calls were no-ops (QPointer was already null) but misleading.
…e types throughout - RigWellLogCurveData no longer inherits from cvf::Object; calculateResampledCurveData returns by value - RimWellLogCurve::curveData() returns const reference instead of pointer; m_curveData stored by value - RigLasFileExporter: replace cvf::Collection with std::vector<RigWellLogCurveData>; SingleChannelData stores RigWellLogCurveData by value - Update all callers to use dot notation instead of pointer dereference
…without dummy plots Replace temporary RimWellLogPlot/RimWellLogTrack creation with standalone RimWellLogExtractionCurve objects that load data and export directly via RigLasFileExporter, eliminating the need to create and delete dummy plot objects.
…ash on destruction
- Legend items are now ordered to match the project tree order - Selecting a curve set in the project tree highlights it in the plot and hides member curves of other curve sets (statistics unaffected) - Clicking a legend item in the plot selects the curve set in the project tree - Fix missing update of ensemble curve sets
Switch signal handler registration from signal() to sigaction(SA_SIGINFO) on Linux to capture fault address, signal code description, and program counter at crash time. These are logged to the file logger and included in OpenTelemetry crash reports.
When m_linkedWithCellResult is true, the early return in defineUiOrdering was hiding all filter options (range, filter mode, category selection). Hide only the Result group when linked; always show the Filter Settings group.
Guard against null m_masterView in updateDependentViews, allViewsForCameraSync, allViews, and updateScaleZ to prevent crashes when linking views without a valid master view set.
…red in EGRID ACTNUM is always present in the EGRID file, but not always in the INIT file. The OPM reader's staticResult() searched only the INIT file, so models that omit ACTNUM from INIT returned an empty result vector, causing all cells to display as undefined. Fix by deriving ACTNUM values directly from the active cell info, which is populated from the EGRID during grid import via transferActiveCells().
Update the preference lookup to search upward up to three levels from the test directory, allowing for shared configuration in nested folder structures. Also, ensure each test runs from a consistent baseline by saving the initial state once and restoring it after every test execution.
…lot data The fictitious depth point (-1.0) that extends the topmost connection bar was only added for accumulated flow on branch 0. For inflow mode and accumulated mode on branches > 0, the first connection bar had no extent and was invisible, and the data export skipped the first real connection.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.