Fixes a race condition crash when plugins tried to use API functions which weren't ready since the constructor hadn't returned a valid OBS *App for the API.
If OBS is live/recording when the user presses the Exit, File/Exit, or
the [X] Button a message box will open asking if the user wants to exit
OBS while live/recording.
This is useful to protect against accidentally closing OBS while
streaming/recording.
CLosesjp9000/OBS#448
Apparently, \0 is not always a zero-width character?
Not including it as part of the string measurement may cut off the final word
on the line when using certain fonts together with outlines and wrapping.
Test case:
• Font: M+ 2p black (downloadable at https://mplus-fonts.osdn.jp/mplus-outline-fonts/download/index-en.html#download, "M+ TESTFLIGHT 060" release)
• ☑ Use Outline
• ☑ Use Custom Text Extents
• ☑ Wrap
• ☐ Scroll Mode (doesn't seem to be affected)
• Text: A, 20
When after transforming a source, the user tries to ctrl + click on nothing,
OBS would try to deselect whatever source was there, which resulted in an
assertion failure. This adds a check that there has to be something to deselect.
When resizing a source with snapping enabled, any crop that was small enough to
be snapped would be reset as if the user was dragging the crop line with snap
enabled. The crop should not be affected by a resize action (unless the source
becomes too small), so disable the snap check on crops when resizing.
Microsoft basically deprecated GetVersion/GetVersionEx so now they'll
always report invalid version numbers. The way to get the actual
version of windows after 8+ is to get the actual file version of
kernel32.dll according to microsoft's documentation.
NVENC at least does not like being shut down if there is still pending encoder output to be consumed. Normally output flushing is skipped when rendering preview for UI responsiveness.
The coordinates used to draw the global source indicator were absolute
and not relative as it was supposed to. (retrieved with LVIR_BOUNDS)
This caused drawing "artefacts" when horizontally scrolling the sources
list.
Following previous reverts, fixes a number of isses with ConfigFile, and
prevents the hotkey thread from potentially corrupting the config file.
The user will no longer be able to update these two settings in real
time, but at this point I'd rather spend time on the new version rather
than make fixes that require too much time.
This reverts commit fb3188a7cd.
This was a change that was added to fix support for certain intel
devices, but ultimately I feel like it's just not needed and is trying
to fix something that isn't broken.