reuk
78521395f2
AAX Client: Add more ignored warnings for Clang on Windows
2024-05-20 12:49:55 +01:00
reuk
72c7fd3070
CoreAudio: Allow non-combined devices to restart successfully
2024-05-20 12:49:55 +01:00
reuk
f2449cb092
CoreAudioIODevice: Make stopAndGetLastCallback() private
2024-05-20 12:49:55 +01:00
reuk
0444e3d69c
EdgeTable: Avoid reinterpret_cast in multiplyLevels
2024-05-20 12:49:55 +01:00
reuk
ce0fe3dc1e
EdgeTable: Keep better track of buffer memory ranges
...
Occasionally, on Linux, Address Sanitizer can complain about a memory
region overlap in the arguments to memcpy, originating in
EdgeTable::intersectWithEdgeTableLine. I haven't been able to reproduce
this personally.
The final memcpy call in this function requires there to be
"srcNum1 * 2" valid entries after the current "src1" ptr, and none of
those entries may overlap with the area starting at "temp".
On inspection, I think that the memory region being read is too large.
At the point of the call, src1 will point to a LineItem::level, not
LineItem::x, so there will actually be (srcNum1 * 2 - 1) valid items
following it.
All this pointer arithmetic is very difficult to understand. In an
effort to make this function slightly more understandable, I've switched
to using Spans to delineate lines of the table, which makes it easier to
keep track of the size of each line.
2024-05-20 12:49:55 +01:00
reuk
417d97b36e
EdgeTable: Implement using vector to simplify special member functions
2024-05-20 12:49:54 +01:00
reuk
631b2ea2ba
Component: Cache effect images internally to Component, to avoid hash collisions in the ImageCache
2024-05-20 12:49:54 +01:00
reuk
d9a9356267
CameraDevice: Simplify data shared across threads, to reduce potential for data races
2024-05-20 12:49:54 +01:00
reuk
c0d0c1f9c6
VirtualDesktopManager: Avoid caching COM object which might be invalidated if COM is uninitialised and reinitialised
2024-05-20 12:48:11 +01:00
reuk
aeeb06ccb9
SafePointer: Avoid potential double-deletes
...
deleteAndZero now behaves more like unique_ptr::reset, which sets the
new stored value before freeing the old one.
2024-05-20 12:48:11 +01:00
reuk
5d2b1b7aa7
UnicodeData: Remove unnecessary pack pragmas
2024-05-20 12:48:11 +01:00
Anthony Nicholls
b9a1bfbc22
Formatting: Fix line endings in inl file
2024-05-10 14:30:44 +01:00
Matt Gonzalez
dfa94981e4
D2D: Pass the clearImage flag to the BitmapData backup image
...
https://forum.juce.com/t/the-juce-8-preview-branch-is-available-now/60950/123
2024-05-10 11:55:28 +01:00
Anthony Nicholls
9e9da250eb
Timer: Ensure the timer thread is deleted before any static or global destructors run
...
In cases where there was a static or global instance of a class that
inherited from Timer, due to the order of events when a dll is unloaded
on windows, there was a risk of an infinite hang. Deleting the timer
thread before the dll is unloaded avoids this occurring.
2024-05-10 11:55:28 +01:00
attila
dbd3b4f34b
Place all choc types inside an anonymous namespace
...
This is to allow users to include choc in a JUCE project and not have
symbol collisions with our internally included copy of choc.
2024-05-10 11:55:28 +01:00
reuk
7c2a5fc758
JSON: Fix issue where max decimal places option was ignored during serialisation
2024-05-08 17:53:52 +01:00
reuk
34adc50472
MPEKeyboardComponent: Avoid asserting when clicking on highest visible key
2024-05-08 17:53:52 +01:00
reuk
c5b428dfe9
VST3 Client: Add support for IParameterFinder interface
...
This allows hosts such as Cubase and MultitrackStudio to locate
parameters based on the current mouse position.
Users must override and implement getControlParameterIndex in order for
the parameter to be reported to the host.
The DSPModulePluginDemo shows one possible strategy for implementing
this function.
2024-05-08 17:53:52 +01:00
reuk
c4652ef7bc
ColourGradient: Fix assertion in ColourGradient::remove
2024-05-08 17:53:52 +01:00
reuk
c728d8509d
Point: Disable rotatedAroundOrigin for non-floating-point types
...
This function cant't give useful results for integer points.
2024-05-08 17:53:52 +01:00
reuk
a0c9a42dbf
Point: Avoid data-loss warning in Point::getDotProduct
2024-05-08 17:53:52 +01:00
reuk
0f0095091b
Line: Avoid data loss warning in Line::findNearestPointTo
2024-05-08 17:53:52 +01:00
reuk
5ff13aa6b1
PixelFormats: Avoid data-loss warning when tweening PixelAlpha values
2024-05-08 17:53:52 +01:00
reuk
c25a1fe233
AffineTransform: Add basic test for fromTargetPoints
2024-05-08 17:53:52 +01:00
reuk
44a04370a9
Parallelogram: Fix implementations of isEmpty and operator-=
...
Previously, isEmpty sometimes incorrectly returned true for non-empty
parallelograms.
operator-= called itself, leading to infinite recursion.
2024-05-08 17:53:51 +01:00
reuk
83dcaf3c39
Build: Fix Windows DLL build, which requires inheriting publicly from AsyncUpdater
2024-05-08 15:37:22 +01:00
Anthony Nicholls
2fc532ccac
AudioDeviceSelector: Fix a bug with the input and output device selectors
...
The bug presented when selecting none for either input or output, when
the opposite input or output was a device that had the same name for
both the input and output
2024-05-01 16:21:39 +01:00
Anthony Nicholls
bce68c2b11
String: Prevent implicit conversion warning in UTF-8 constructor
2024-05-01 14:39:09 +00:00
reuk
f333875386
D2D: Fix formatting
2024-04-29 16:08:24 +01:00
reuk
590e22f320
D2D: Add faster two-pass blur implementation
2024-04-29 16:08:24 +01:00
reuk
427fec6433
Image: Add slightly faster alternative to gaussian blur for drop shadows
2024-04-29 16:08:24 +01:00
reuk
acae73e980
RenderingHelpers: DRY implementation of fillRectWithColour
2024-04-29 16:08:24 +01:00
reuk
7991c91fb2
D2D: Move null checks
2024-04-29 16:08:24 +01:00
reuk
73588879a4
D2D: Revert StandardCachedComponentImage
2024-04-29 16:08:24 +01:00
reuk
74da0f977d
File: Remove broken dynamic load of GetFinalPathNamebyHandle
2024-04-29 16:08:24 +01:00
reuk
248a400b88
D2D: Use currently-selected colour when replace-clearing NativeImage
2024-04-29 16:08:23 +01:00
reuk
793af50964
D2D: Fix typo which caused window to repaint continuously after resize
2024-04-29 16:08:23 +01:00
reuk
bfccf7f81c
D2D: Fix intersection test for Line
2024-04-29 16:08:23 +01:00
reuk
203e99c57d
D2D: Update Direct2DGraphicsContext::getPhysicalPixelScaleFactor to include context transform for consistency with other renderer backends
2024-04-29 16:08:23 +01:00
reuk
c2d86693ff
D2D: Avoid calling setPhysicalPixelScaleFactor
2024-04-29 16:08:23 +01:00
reuk
e005a41d6b
D2D: Remove unnecessary scaling in HwndPimpl::setSize
2024-04-29 16:08:23 +01:00
reuk
238edf6437
D2D: Remove unused function
2024-04-29 16:08:23 +01:00
reuk
49dec0a32a
D2D: Apply physical scale factor inside startFrame
2024-04-29 16:08:23 +01:00
reuk
122b75909e
D2D: Avoid setting DPI when resizing context, as it is already set per-frame
2024-04-29 16:08:23 +01:00
reuk
83ba2cba5d
D2D: Tidy up in typeface implementation
2024-04-29 16:08:22 +01:00
reuk
06903573d2
D2D: Refactor SwapChainThread and attempt to ensure correct alignment of slist entries
2024-04-29 16:08:22 +01:00
reuk
56d5445f8a
FontOptions: Make it easier to specify font sizes in points
2024-04-29 16:08:22 +01:00
reuk
c5a9e26960
Typeface: Add support for querying the default system UI typeface
2024-04-29 16:08:21 +01:00
attila
c083d3e9f1
WebBrowserComponent: Fix documentation for withInitialisationData()
2024-04-29 13:19:06 +02:00
attila
48c5857034
JavascriptEngine: Fix evaluating an empty array
2024-04-29 13:19:06 +02:00