OBS Studio - Free from stubborn peops https://obsproject.com
Find a file
Zulleyy3 Zulleyy3 0427bbf265 UI: Fix transform of sources in groups
Group resize is not deferred until adjustments are completed by a
mouseReleaseEvent in certain cases, resulting in unexpected movement of
sources that are part of a group as they are resized or stretched
beyond group bounds.

The bug can be described/reproduced as follow:

1. The user selects within a group in the sources dock
2. The user moves their mouse over the selected source such that the
   cursor would change.
   - This results in a cursor update and a call to GetStrechHandle()
   - as the source is part of a group, stretchGroup will be set to the
    group of the source

3. The user clicks on the canvas without touching a stretch/rotation
   handle
   - A mouseReleaseEvent is fired
   - obs_sceneitem_defer_group_resize_end is called on the group as
     stretchGroup is still defined from earlier
   - the defer_group_resize member of the group will become negative
   - The deferal check in resize_group (obs-scene.c) will always pass
     now
4. When scaling or rotating the source close to the group bounds, the
   group bounds will now dynamically update causing the source in to fly
   off the canvas.

Resolves: https://github.com/obsproject/obs-studio/issues/9754
(cherry picked from commit c76760bc1c)
2023-11-08 22:35:58 -06:00
.github CI: Fix Steam upload (again) 2023-10-26 16:24:51 -04:00
additional_install_files Improve additional_install_files for debug/release 2014-07-18 22:41:11 -07:00
build-aux build-aux: Update Flatpak CEF build 2023-10-26 16:24:51 -04:00
CI CI: Delete legacy build and formatting check scripts 2023-07-17 20:10:12 +02:00
cmake cmake: Explicitly fail if macOS SDK is too old 2023-10-26 16:24:51 -04:00
deps deps: Add license declaration files 2023-09-19 13:35:49 -04:00
docs/sphinx docs: Fix obs_sceneitem_get_group signature 2023-11-08 22:35:58 -06:00
libobs libobs: Add more files to list of public headers 2023-11-08 22:35:58 -06:00
libobs-d3d11 libobs-d3d11: Log VRAM in GiB 2023-10-26 16:24:51 -04:00
libobs-opengl libobs: Update CMake minimum to 3.22 2023-08-05 16:45:46 -07:00
libobs-winrt cmake: Add changes for CMake build framework 3.0 2023-06-29 10:11:32 -04:00
plugins obs-webrtc: Allow non-CBR rate control with WHIP 2023-11-05 13:11:09 -06:00
test test-input: Update CMakeLists for updated CMake path 2023-07-06 18:26:28 +02:00
UI UI: Fix transform of sources in groups 2023-11-08 22:35:58 -06:00
.cirrus.yml CI: Bump FreeBSD version to supported release: 13.2 2023-08-18 13:14:58 -04:00
.clang-format Update .clang-format rules for ObjC files for version 16 2023-08-10 17:12:30 -04:00
.cmake-format.json cmake: Add changes for CMake build framework 3.0 2023-03-26 18:20:38 -04:00
.editorconfig .editorconfig: Add win-capture json 2023-10-09 14:50:05 -04:00
.git-blame-ignore-revs .git-blame-ignore-revs: Add clang-format 16 update 2023-08-10 19:12:26 -04:00
.gitattributes CI: Add Crowdin Synchronization 2021-11-25 20:59:11 +11:00
.gitignore CI: Add zsh-based build framework files for macOS 2023-07-17 19:49:18 +02:00
.gitmodules cmake,plugins,build-aux: Remove enc-amf 2023-07-22 18:06:26 -07:00
.mailmap Update copyrights/names 2023-05-20 01:31:18 -07:00
.swift-format cmake: Add Xcode component to CMake build framework 3.0 2023-03-26 18:20:38 -04:00
AUTHORS Update translations from Crowdin 2023-10-26 16:24:51 -04:00
buildspec.json CI: Update deps to 2023-10-26 release 2023-10-28 16:14:25 -04:00
CMakeLists.txt cmake: Update CMake minimum to 3.22 2023-08-05 16:45:46 -07:00
CMakePresets.json cmake: Remove Qt version selection and Qt 5 support 2023-07-19 11:56:54 -04:00
COC.rst Revert "docs: Rename Code of Conduct to fix GitHub detection" 2021-08-07 20:40:29 +10:00
COMMITMENT Add GPL Cooperation Commitment to base directory 2019-01-24 02:02:49 -05:00
CONTRIBUTING.rst CONTRIBUTING.rst: Update Crowdin guide url 2023-05-27 16:23:49 -07:00
COPYING COPYING: Use license file from gnu.org 2021-10-24 00:35:27 -07:00
INSTALL Update INSTALL 2018-07-14 08:21:00 +01:00
README.rst README.rst: Fix GitHub Actions status badge target link 2023-07-18 11:38:17 -04:00

OBS Studio <https://obsproject.com>
===================================

.. image:: https://github.com/obsproject/obs-studio/actions/workflows/push.yaml/badge.svg?branch=master
   :alt: OBS Studio Build Status - GitHub Actions
   :target: https://github.com/obsproject/obs-studio/actions/workflows/push.yaml?query=branch%3Amaster

.. image:: https://badges.crowdin.net/obs-studio/localized.svg
   :alt: OBS Studio Translation Project Progress
   :target: https://crowdin.com/project/obs-studio

.. image:: https://img.shields.io/discord/348973006581923840.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2
   :alt: OBS Studio Discord Server
   :target: https://obsproject.com/discord

What is OBS Studio?
-------------------

OBS Studio is software designed for capturing, compositing, encoding,
recording, and streaming video content, efficiently.

It's distributed under the GNU General Public License v2 (or any later
version) - see the accompanying COPYING file for more details.

Quick Links
-----------

- Website: https://obsproject.com

- Help/Documentation/Guides: https://github.com/obsproject/obs-studio/wiki

- Forums: https://obsproject.com/forum/

- Build Instructions: https://github.com/obsproject/obs-studio/wiki/Install-Instructions

- Developer/API Documentation: https://obsproject.com/docs

- Donating/backing/sponsoring: https://obsproject.com/contribute

- Bug Tracker: https://github.com/obsproject/obs-studio/issues

Contributing
------------

- If you would like to help fund or sponsor the project, you can do so
  via `Patreon <https://www.patreon.com/obsproject>`_, `OpenCollective
  <https://opencollective.com/obsproject>`_, or `PayPal
  <https://www.paypal.me/obsproject>`_.  See our `contribute page
  <https://obsproject.com/contribute>`_ for more information.

- If you wish to contribute code to the project, please make sure to
  read the coding and commit guidelines:
  https://github.com/obsproject/obs-studio/blob/master/CONTRIBUTING.rst

- Developer/API documentation can be found here:
  https://obsproject.com/docs

- If you wish to contribute translations, do not submit pull requests.
  Instead, please use Crowdin.  For more information read this page:
  https://obsproject.com/wiki/How-To-Contribute-Translations-For-OBS

- Other ways to contribute are by helping people out with support on
  our forums or in our community chat.  Please limit support to topics
  you fully understand -- bad advice is worse than no advice.  When it
  comes to something that you don't fully know or understand, please
  defer to the official help or official channels.