Commit Graph
2281 Commits
Author SHA1 Message Date
MonsteerandJim 48f41c67dc UI: Add missing previousIcon in Rachni theme
The previous icon for the media icons set in the Rachni theme is missing
in the theme's .qss file.
2022-03-24 18:22:59 -07:00
cg2121andJim 2056a41ca5 UI: Fix handling of remove signal with projectors
Since the remove signal is coming from another thread,
QMetaObject::invokeMethod has to be used, or corruption
could possibly occur.
2022-03-24 18:22:59 -07:00
jp9000 fb96d637e2 UI: Fix deferred source properties not updating 2022-03-24 18:22:59 -07:00
jp9000 1cfd1bb90a UI: Rename visual update callback variable
Having both a "callback" and "cb" doesn't make sense. One is
specifically for visual updates only, the other is for actual updates,
so use an appropriate name for both
2022-03-24 18:22:59 -07:00
cg2121andJim 63f535c86e UI: Fix mixer hide toggle in studio mode
If the user would toggle hide in mixer in studio mode,
the source would show up in audio mixer, even if it
wasn't active.
2022-03-24 18:22:59 -07:00
Kurt KartaltepeandJim 4845e88219 UI: Avoid calling obs_source_update multiple times
When we added undo/redo in 86eb7aeb a distinction between Updates and
Visual updates was made, presumably for filters which need special
handling of the update case. These functions were also added to regular
source properties, but didnt use any special code instead calling
obs_source_update an additional time after a short time.

Instead lets remove the 2nd delayed call and only call obs_source_update
once per settings change.
2022-03-24 18:22:59 -07:00
jp9000 09df945fb8 UI: Use get_new_source_name instead of strprintf
Remove a bit of duplicated code, and fix non-Windows compilation. This
is a bit of a workaround to not have to modify cmake, but might as well
reuse a function that already exists anyway rather than duplicate the
code.
2022-03-24 18:22:59 -07:00
jp9000 23bc7c7544 UI: Fix duplicated source names in audio settings
When you add an audio capture source and use the "use existing" feature
in the source selection dialog, and then recreate the same audio source
again in audio settings, it will result in two sources using identical
names, which although relatively harmless can cause issues when doing
things such as trying to find sources by their name.

Fixes obsproject/obs-studio#5621
Closes obsproject/obs-studio#5947
2022-03-24 18:22:59 -07:00
jpark37andjp9000 5bd791dea6 UI: Remove conflicting setlocale call
Qt already sets LC_ALL to "" for non-Windows. We set LC_NUMERIC to "C"
afterward for sanity, and we don't want that setting to get smashed.
2022-03-01 12:54:25 -08:00
jpark37andjp9000 b5f85bc788 UI: Restore LC_NUMERIC to C locale on Mac/Linux
Recommended by QCoreApplication doc for Unix.

Fixes CUBE LUT load, and FFmpeg output args for foreign locales.
2022-03-01 12:54:25 -08:00
Kevin DegelingandMatt Gajownik db3cee0868 UI: Additional product details
Based on the product description from the main website
2022-02-28 22:22:09 +11:00
obiwacandMatt Gajownik c09429aa8c linux-v4l2: scandir with alphasort on non-Linux
Sort video device entries with `alphasort` on non-Linux platforms,
as opposed to `versionsort` on Linux.
(`versionsort` is a GNU extension, unavailable on e.g. FreeBSD.)

UI: Fix call to `to_string` on FreeBSD
2022-02-28 22:21:46 +11:00
gxalphaandMatt Gajownik 46f9a5a8b9 UI: Refresh edit menu on item locked signal 2022-02-28 22:21:30 +11:00
Matt GajownikandMatt Gajownik d1f8caeb8d UI: Log 'Hide OBS from capture' on startup & settings change 2022-02-20 13:40:34 +11:00
gxalphaandMatt Gajownik 5f7c4329b2 UI: Refresh edit menu on item select/deselect 2022-02-20 12:05:59 +11:00
Matt GajownikandMatt Gajownik 59a675738f UI: Don't collapse preview in Filters splitter view
Fixes #5959
2022-02-18 20:37:47 +11:00
Translation UpdaterandTranslation Updater 25b58f0417 Update translations from Crowdin 2022-02-11 00:34:08 +00:00
Richard Stanway aa73de952b UI: Fix uninitialized memory access in OBSPropertiesView
Bug introduced in b0528e0cf7. Closes
https://github.com/obsproject/obs-studio/issues/5934.
2022-02-08 21:57:08 +01:00
jp9000 b0528e0cf7 UI: Fix properties view crash with non-obs objects
The properties view incorrectly assumed that it was being used with obs
objects only.

(Jim note: I'm annoyed.)
2022-02-08 11:07:23 -08:00
RodneyandGitHub b7a24d54c9 UI: Add warning on startup for running in Wine 2022-02-07 14:16:59 -08:00
Translation UpdaterandTranslation Updater ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
jp9000 c71abfbd8c UI: Fix clang-format specifier 2022-02-02 22:39:24 -08:00
jp9000 4f09cac7af UI: Remove unnecessary call 2022-02-02 22:37:41 -08:00
jp9000 f0e631df17 UI: Fix filter props. getting recreated unnecessarily
Closes obsproject/obs-studio#5846
2022-02-02 22:35:56 -08:00
jp9000 4b355192e7 UI: Don't create filter properties before splitter
Fixes an issue where the properties wouldn't show up the first time the
properties are supposed to show
2022-02-02 22:35:56 -08:00
jp9000 f34b6866a5 UI: Improve properties view object safety
Use weak references on OBS objects that properties view reference in
order to ensure that the objects are still valid.

This fixes a crash where properties views would use objects without
necessarily knowing whether they were still valid or not.

Fixes obsproject/obs-studio#5862
Closes obsproject/obs-studio#5863
2022-02-02 22:35:56 -08:00
jp9000 6b944a2f3c libobs: Rename OBSObj to OBSPtr
Makes it a bit more explicit that it's just a pointer RAII, and because
an OBSObject will be added
2022-02-02 22:35:56 -08:00
Matt GajownikandJim e2e751aa55 UI: Better Hide OBS Window description, add first time dialog & tooltip 2022-01-29 17:09:15 -08:00
Sebastian BeckmannandGitHub 77dbe44da4 UI: Properly close projector when source is removed (#5171) 2022-01-29 15:36:38 -08:00
Paul HindtandColin Edwards 97d47b701b aja-output-ui: Fix crash when stopping AJA Preview output
Removing the first call to `video_output_stop` prevents the `data_mutex`

field in `struct video_output` from being destroyed while still in use.

The `render_preview_source` function will call `video_output_lock_frame`

upon that mutex and encounter a NULL pointer exception.
2022-01-29 15:06:34 -06:00
Matt Gajownik eb7d6e84aa UI: Add separators to system tray context menu 2022-01-29 14:01:34 +11:00
gxalphaandMatt Gajownik 9c51b70dd0 UI: Fix unused variable warning on non-windows 2022-01-29 13:30:17 +11:00
jp9000 c87a81ba56 UI: Show wait cursor while cleaning up scene data 2022-01-28 10:30:42 -08:00
Richard Stanway 5ed45d06da UI: Check current affinity before calling SetWindowDisplayAffinity
For some reason, SetWindowDisplayAffinity can make windows visible even
when it sets the same value for affinity that GetWindowDisplayAffinity
reports. Possibly an API bug as this is probably not a widely used API
yet?

Fixes a weird window with no size appearing when browsing for files on
Windows.
2022-01-27 02:47:11 +01:00
Clayton GroeneveldandJim 0377b962b5 UI: Disconnect group reorder signal
The group reorder signal was never disconnected when
resetting signals.
2022-01-25 06:06:15 -08:00
Richard StanwayandJim 40a598008d UI: Fix QLabel leak in OBSPropertiesView::AddProperty
OBS_PROPERTY_GROUP creates neither a widget nor a label, causing
AddProperty to create a default one. Without a widget, it does not
get attached to the layout, resulting in a memory leak.

This commit also simplifies a bit of the code to avoid repeatedly
testing the same condition.
2022-01-25 06:01:23 -08:00
gxalphaandJim 799ac3f6a0 UI: Fix transform options being wrongly enabled/disabled
They detection for this was not checking the n selected items but the
first n items in the list, which would lead to the options being enabled
or disabled based on the whether other items were locked.
2022-01-25 05:58:47 -08:00
JimandGitHub b3b4e1b2ef Merge pull request #5860 from obsproject/deprecate-addref
Deprecate addref for obs objects
2022-01-25 05:55:52 -08:00
Georges Basile Stavracas NetoandGitHub 0f36d7832c UI: Fix bugtracker URL in AppData file (#5861)
It is mistakenly set to github.org, instead of github.com.

Sorry :(
2022-01-24 19:02:55 -06:00
Jim b9e01380f3 UI: Replace addref calls with get_ref 2022-01-24 14:06:50 -08:00
Matt Gajownik b77ccceae7 UI: Allow 'Hide OBS window' on Windows 10 2004
Per the Microsoft documentation, 2004 (19041) is the minimum supported
version for this feature. Ensure the check matches that.
2022-01-24 21:44:47 +11:00
Matt Gajownik f9b038513a UI: Fix Settings save crash on old Windows versions
WidgetChanged doesn't contain a null check, resulting in a crash when
looking at the value for the new Hide OBS From Capture setting.

Fixes #5854
2022-01-24 18:31:05 +11:00
Matt Gajownik 4e04011101 UI: Don't read unloaded module in source toolbar
Avoid potential crashes similar to #4391 for existing users,
especially on non-Windows.
2022-01-23 16:45:54 +11:00
Richard StanwayandJim 076cd5d5d4 UI: Add option to hide OBS windows on Windows
This uses the SetWindowDisplayAffinity API to hide windows from capture
applications (including OBS). This is not perfect - internal windows
such as context menus, combo box dropdowns, etc will still be displayed.
Even with these limitations, it should help people with single monitors
capture content with less interference from the OBS window.

This implementation is for Windows only but the code is generic enough
that adding other platforms should be straightforward.
2022-01-22 15:14:16 -08:00
gxalphaandRyan Foster d601577706 UI: Fix small typo 2022-01-21 10:07:25 -05:00
Richard Stanway 3ce12bc5e9 UI: Optimize undo/redo functions with constant references 2022-01-19 21:39:43 +01:00
Richard StanwayandJim 85ac469458 UI: Use regexp to filter filename formatting
Avoids unbounded stack growth when pasting content that has many invalid
characters. Fixes https://github.com/obsproject/obs-studio/issues/5815.
2022-01-18 03:34:58 -08:00
Matt Gajownik a3e3ee8a8b UI: Downgrade scalable logo on Linux to SVG 1.0
GNOME (and a number of SVG editors) don't handle SVG 1.1 properly,
resulting in the inner circle overflowing into the outer circle.
2022-01-17 19:09:54 +11:00
Nicolas FellaandMatt Gajownik f43b046f8b UI: Set desktopFileName for QApplication
This needs to match the base name of the .desktop file name.

This is needed for propagating the correct App ID on Wayland,
which is needed e.g. for proper window icons on Plasma.
2022-01-16 18:03:27 +11:00
Ryan Foster 0a93acbc86 UI: Fix memory leak in Auto-Configuration Wizard
If streaming and recording was selected in the Auto-Configuration
Wizard, a memory leak would occur. When obs_service_resolution appeared
elsewhere in C++ files, it used a BPtr. Use BPtr here too.
2022-01-15 22:24:00 -05:00