Merged
Conversation
(cherry picked from commit 099bc26)
actions/cache versions other than v4, v3, v4.2.0, and v3.4.0 were deprecated and gradually sunset through February. @actions/cache versions other than v4.0.0+ were deprecated and gradually sunset through February. See: * actions/cache#1510 * actions/toolkit#1890 flathub-infra/flatpak-github-actions/flatpak-builder set its @actions/cache dependency version to "^3.2.3" and was last updated on July 29, 2024. As a result, its yarn.lock file specifies version "3.2.4", which is no longer supported and does not work. Update flathub-infra/flatpak-github-actions actions now that they have updated their @actions/cache dependency. (cherry picked from commit 8db61f2)
(cherry picked from commit 6931d80)
Curl reports that the luajit.org git repo is using a self-signed cert. This is causing git operations to fail. Let's just use the GitHub mirror. Cherry Pick Note: Manually edited to only change the remote and not the commit. (cherry picked from commit cfb23a5)
The fork has been merge with upstream. flathub-infra/flatpak-github-actions#17 (cherry picked from commit a368f05)
If the crop values combined are larger than the width or height of the source, an integer overflow will occur. This fix converts the width/height values to int, and then clamps any negative values to 0. (cherry picked from commit 7f09344)
If a frame has a width or height of zero, this value will make it into libobs/media-io/video-frame.c:video_frame_init and cause linesizes or heights to be zero, which will result in a bmalloc(0) call and OBS will crash. Instead of letting the call stack get that far, check the frame width and height here at the source, log an error, and return early if the frame width or height are zero. (cherry picked from commit 7cae57d)
Add function that tries to reset v4l2loopback output for module versions from 0.12.5 to 0.12.7. If successful, then set flag that STREAMON and STREAMOFF are necessary each time the device is opened/closed. (cherry picked from commit 12c6feb)
(cherry picked from commit 506281e)
(cherry picked from commit a19945b)
In `parse_decl_string`, it jumps to `fail` label if an error occurs. However, if the lexer encountered an error for example, `cfp.error_list` may be empty. (cherry picked from commit 220b0ec)
This fixes a regression on Linux, introduced in commit 9bc3082. According to the POSIX specification for the exec family of commands, "The first argument is the filename or pathname of the executable to be executed". This was done correctly before, but the above commit removed "sh" from the arguments, breaking the pipe function on Linux. (cherry picked from commit 1fc94ec)
Frame width/height check crash if the frame is not given. We can reorder width/height check after other precondition checks. (cherry picked from commit 22c4e11)
(cherry picked from commit 90d158c)
At a glance, the GenId function looks like it can only return a 16-character hexadecimal string with all characters being [0-9A-F]. However, it seems that it can rarely return a 16-character string that has one or two space characters at the beginning due to the value of id, from which the final string is derived, being too low (lower than 1152921504606846976 or 0x1000000000000000) and the printf format specifier having a width of 16. This results in a string of less than 16 characters that is padded with blank spaces. The end result is a cookie directory that has leading spaces in its name, which can cause various issues, such as breaking syncing on OneDrive. If we set the format specifier to pad with zeroes instead of spaces, the resulting hexadecimal value is always 16 characters long without spaces. (cherry picked from commit 9bd4514)
The v3 build did not have the wrapper built. This fixes that. (cherry picked from commit bbbdb88)
Use a rebuilt CEF of the same version (6533) that additionally disables use_allocator_shim to avoid memory-related crashes on macOS 13 and older. (cherry picked from commit f424129)
When no role is set, the default is QAction::TextHeuristicRole. This means that the text of the item gets fuzzy-matched in Qt against a set of possible strings that could indicate that the menu should be in the application menu on macOS. For us this meant however that on some languages, the translation of "WebSocket Server Settings" would begin with "Config", and as such the related QAction replaces our "Settings" action for the PreferencesRole, and clicking "Preferences..." in the application menu would open the websocket settings. It should probably be considered a bug in Qt that implicit matches via TextHeuristicRole can overwrite ones that are explicitly set (like our PreferencesRole). However we explicitly set our roles ourselves anyways and there is no scenario where a plugin should overwrite them, we can just default actions added via the Frontend API to be NoRole; and worry about the Qt bug later. Cherry Pick Note: Manually picked due to UI code reorganization. (cherry picked from commit d3c5d2c)
PatTheMav
approved these changes
Jun 27, 2025
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.
Description
Picks:
Motivation and Context
We recently discovered that OBS Studio 31.1.0 will not launch on macOS 11 due to updating Qt from 6.6.3 to 6.8.3. To fix some critical issues for macOS 11 users, it seems prudent to pick some fixes to the release/31.0 branch.
A more limited set of cherry picks are here, if preferred: https://github.com/RytoEX/obs-studio/tree/cherry-pick-31-0-4-limited
How Has This Been Tested?
The changes have been tested in the 31.1.0 beta and RC.
Types of changes
Checklist: