1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
Commit graph

9598 commits

Author SHA1 Message Date
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