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

917 commits

Author SHA1 Message Date
Tom Poole
fd8607302d Bump version number to 7.0.1 2022-07-04 15:07:43 +01:00
Tom Poole
8b399998b4 Bump version number to 7.0.0 2022-06-21 08:38:55 +01:00
attila
6f3fb5a29f Linux: Adjust natively reported border size by the current scale factor 2022-05-19 12:06:38 +02:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
reuk
67e3326ecf
Fonts: Avoid segfaulting on Linux when there are no installed fonts 2022-05-03 11:44:03 +01:00
reuk
3c08f8beda
Linux Fonts: Replace font style if it does not exist for the requested font 2022-04-28 11:05:40 +01:00
reuk
19ddbe2368
Warnings: Fix missing-prototypes warnings 2022-04-22 14:18:48 +01:00
reuk
3bf635e004
Warnings: Always supply all field initialisers
This also fixes an issue where the requested font style could be
incorrectly overwritten.
2022-04-22 14:18:48 +01:00
reuk
6de457f932
Linux Fonts: Add extra default font path 2022-04-22 14:07:46 +01:00
reuk
f9c0c626fe
Linux: Avoid picking a bold/oblique version of Bitstream Vera Sans by default 2022-04-22 13:55:47 +01:00
Tom Poole
68514d626c Graphics: Added a global GlyphArrangement cache 2022-04-04 12:36:33 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
ae646dde16
StandaloneFilterWindow: Account for native frame size in constrainer 2022-04-01 16:41:47 +01:00
reuk
93ba4d98cf
Fix clang warnings 2022-04-01 16:41:47 +01:00
Tom Poole
ed4f638ff7 Line: Add explicit methods for lengthening the start and end points 2022-03-24 14:01:34 +00:00
reuk
ebac835673
Fix some deprecation warnings 2022-03-22 17:27:54 +00:00
Tom Poole
0d82541728 Point: Fix a division by zero in getPointAlongLine 2022-03-17 11:34:32 +00:00
reuk
db3a0a1ae8
CoreGraphics: Avoid allocating over-large buffers for clipped image data 2022-03-09 17:06:28 +00:00
reuk
5186ac71e2
iOS: Fix no-matching-function error 2022-03-03 12:27:04 +00:00
Tom Poole
111bbc0979 Bump version number to 6.1.6 2022-02-28 12:53:10 +00:00
Tom Poole
04a8a44a85 Make Path::intersectsLine const 2022-02-24 14:20:08 +00:00
reuk
1d1d743b9f
Build: Add -Wdeprecated to recommended flags and fix new warnings 2022-02-23 10:56:10 +00:00
reuk
e27fb35996
Fonts: Adjust attribute ranges correctly when rendering AttributedStrings
CFAttributedString ranges must be given in terms of 16-bit word offsets,
rather than codepoints.
2022-02-23 10:56:09 +00:00
reuk
0223e44ae7
Image: Keep track of contiguous buffer size to avoid heap buffer overflows
In CoreGraphicsPixelData::createImage, image data was copied from a
BitmapData created from the Image passed into the function.

The BitmapData instance didn't keep track of the size of the buffer it
pointed to, so the buffer size was computed by multiplying the
BitmapData height by its line stride. However, if the BitmapData pointed
to a subsection of an image, the `data` pointer might be offset from
the allocated region, and `data + lineStride * height` would point past
the end of the allocated region. Trying to read/copy this range would
cause a heap buffer overflow at the end of the range.

This change adjusts BitmapData so that it keeps track of the size of the
allocated region. Taking a subsection of an image should subtract the
data pointer offset from the size of the allocated region.
2022-02-23 10:56:09 +00:00
reuk
3d7019bdc2
Fonts: Fix Xcode 13 build issue 2022-02-08 17:48:24 +00:00
reuk
50dacbc8fc Mac Fonts: Fix rendering of AttributedStrings with empty ranges
Previously, lifetime management of CTFontRefs was not implemented
correctly. For zero-length ranges, the font may not be retained when
applying it to a CFAttributedString, meaning that the reference stored
in the fontMap sometimes became invalid before
createCFAttributedString() returned.

We now retain font refs when adding them to the font map, and release
them when the map is destroyed, ensuring that the font references remain
valid throughout the lifetime of the map.
2022-02-07 14:24:11 +00:00
Roland Rabien
9d692c13cf Fix invalid usage of JUCE_NODISCARD 2022-01-29 13:49:36 -08:00
reuk
6a1a96247b
GlyphArrangement: Avoid breaking on non-breaking spaces 2022-01-28 16:09:59 +00:00
reuk
b80927fc91
Nodiscard: Add to builder-pattern functions 2022-01-27 18:43:21 +00:00
Tom Poole
3c03693d07 Bump version number to 6.1.5 2022-01-26 13:00:05 +00:00
Tom Poole
c072b1bc8e Fix some typos 2022-01-25 11:48:46 +00:00
reuk
640194c878
MinGW: Improve compatibility
With this patch applied, the DemoRunner should build under MinGW, and be
(nearly) feature-complete compared to the MSVC build.

Specifically, when building with MinGW:
- Adds support for accessibility
- Fixes build issues in the juce_video module
- Fixes a link issue in the VST3 wrapper when VST3_CAN_REPLACE_VST2 is
  defined
- Adds support for the new-style native FileChooser
- Tidies up some other low-severity warnings

Known issues:
- Direct2D rendering is still not supported when building with MinGW due
  to ABI compatibilities.
2022-01-17 10:58:18 +00:00
Tom Poole
8a6e1980d0 Bump version number to 6.1.4 2021-12-20 11:06:15 +00:00
Tom Poole
07dec2d369 macOS: Suppress leak detector warnings for retained system tray icons on Big Sur 2021-12-15 12:19:06 +00:00
Tom Poole
05796beffd macOS: Fix CGImage memory access violation on Monterey 2021-12-14 14:36:52 +00:00
reuk
44404508fe Bump version number to 6.1.3 2021-12-08 15:26:08 +00:00
reuk
72abf72c79
GraphicsContext: Fix unused variable warning 2021-12-01 15:44:07 +00:00
reuk
03428561ed
ScaledImage: Use in a few more places 2021-12-01 15:44:07 +00:00
reuk
34fdea0708
DragAndDropContainer: Allow custom scaling 2021-12-01 15:35:54 +00:00
reuk
44b34be183
Rectangle: Add string conversion functions for floats and doubles 2021-11-24 16:20:37 +00:00
reuk
6244fc293f
CharacterFunctions: Avoid UB when parsing hex strings 2021-10-25 09:51:20 +01:00
reuk
752a676fa6
ImageCache: Avoid data race on impl when accessing cache from a background thread 2021-10-06 16:59:07 +01:00
ed
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
ed
a435026b24 macOS: Use available keyword instead of preprocessor version checks where possible 2021-09-29 16:13:48 +01:00
reuk
1a4296e98b
EdgeTable: Avoid shifts of negative numbers 2021-09-28 14:04:10 +01:00
reuk
3768349a05
Font: Make Font and TypefaceCache threadsafe
Previously, it wasn't safe to access Font instances from multiple
threads because there was a chance that they might reference the same
shared internal state. In this case, calling getTypeface() or getAscent from
two threads simultaneously would cause a race on the typeface and ascent
data members, even though the Font instances appeared to be disjoint.

With this change in place, it is now safe to use Font instances from
multiple threads simultaneously.

It is still an error to modify the same Font instance from multiple
threads without synchronization!

    // Fine:
    Font a;
    Font b = a;

    auto futureA = std::async (std::launch::async, [&a] { /* do something with a */ });
    auto futureB = std::async (std::launch::async, [&b] { /* do something with b */ });

    // Bad idea:
    Font f;

    auto futureA = std::async (std::launch::async, [&f] { /* do something with f */ });
    auto futureB = std::async (std::launch::async, [&f] { /* do something with f */ });
2021-09-23 10:28:47 +01:00
Tom Poole
bc75010116 Bump version number to 6.1.2 2021-09-20 12:15:47 +01:00
Tom Poole
5109e30c6f Bump version number to 6.1.1 2021-09-09 12:51:15 +01:00
ed
b760620e05 TextLayout: Ensure that line origin is set correctly when line starts with whitespace or newline glyphs 2021-09-02 08:35:14 +01:00
ed
c26ff2da6b DirectWrite: Don't skip newline glyph runs when performing text layout 2021-09-02 08:35:14 +01:00