Tom Poole
2ec861d99e
Update licensing banners to JUCE 7
2022-05-16 17:55:48 +01:00
Tom Poole
dea3fe60e4
Update copyright banners
2022-04-04 12:36:32 +01: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
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
Tom Poole
79fbde7099
Added preliminary support for FreeBSD
2021-03-29 14:16:46 +01:00
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
2020-07-01 10:00:43 +01:00
ed
009d685179
Updated all license headers
2020-06-29 08:30:22 +01:00
Tom Poole
894e7d2bd2
Updated all license headers
2020-04-23 17:30:39 +01:00
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
2020-04-09 15:22:56 +01:00
Tom Poole
034ca9347e
Fixed a potential overflow when dealing with large images
2020-03-27 08:51:52 +00:00
ed
59a058fdc6
Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough
2020-03-09 17:39:28 +00:00
jules
f58eacc135
Added more unique_ptr use, for functions that create LowLevelGraphicsContext or ImageType objects.
2019-05-15 12:08:38 +01:00
ed
eaf0f990d4
Replaced all uses of static_cast<Type&&> with std::move
2018-11-28 17:29:20 +00:00
Tom Poole
b66f78bacf
Fixed some CoreGraphics image issues in the latest iOS and MacOS SDKs
2018-10-03 15:22:22 +01:00
jules
1e6bbb8da9
Added some methods to allow ReferenceCountedObjectPtrs to be constructed or copied from references as well as pointers - as well as increasing safety, this actually makes things a bit more efficient as it skips a nullptr check. Updated lots of places in the code that could take advantage of this
2018-07-03 11:51:13 +01:00
jules
49aa9c9db4
Added flag JUCE_STRICT_REFCOUNTEDPOINTER which is recommended to avoid accidental leaks when using ref-counted pointers. Enabled this flag in the demo projects, and used it to help tidy up some dubious smart-pointer use
2018-06-26 14:06:52 +01:00
jules
dee78f29f6
Misc cleanups and modernisation
2018-05-11 12:46:30 +01:00
jules
30f6206be9
Fix for compile error with JUCE_ALLOW_STATIC_NULL_VARIABLES=0
2018-05-10 09:10:09 +01:00
jules
8c38c6f57f
Marked as deprecated: String::empty, var::null, File::nonexistent, ValueTree::invalid and other problematic statically-initialised null values. Please just use the default constructor for these classes!
2018-05-09 08:08:46 +01:00
Tom Poole
ab863a6dc2
Replaced all usage of ScopedPointer with std::unique_ptr
2018-04-19 20:27:47 +01:00
jules
a586966c65
Added lambda callback methods to ListenerList. Its old method-invocation callbacks were refactored to use variadic templates instead of the old awful macros they used in the past, but please move your code to use the new lambda functions, as the one stuff will eventually be deprecated!
2017-11-28 16:18:40 +00:00
Tom Poole
856e028127
MacOS: Fixed some more integer overflow issues when loading large images
2017-11-21 16:32:56 +00:00
jules
eda613c6db
Moved all "namespace juce" declarations from module headers to the individual .h and .cpp source files. This makes life a lot easier for Intellisense and other IDE autocompletion tools
2017-09-08 08:59:55 +01:00
hogliux
7bae8a426b
Fixed a potential nullptr dereference in Image::clear()
2017-08-14 09:44:10 +01:00
jules
8689df5590
Fixed a few c++17 warnings
2017-05-02 10:18:33 +01:00
hogliux
b5afccc37c
Updated file headers and the README with the JUCE 5 license
2017-04-27 14:43:04 +01:00
hogliux
9f3fb1c0a6
Added a compiler error if your compiler is too old and removed numerous code checks for old compilers which are now deprecated
2017-02-01 17:18:06 +00:00
jules
9fa0d49be7
Added an option JUCE_ALLOW_STATIC_NULL_VARIABLES that can be used to turn off dangerous statics like String::empty, var::null, etc.
2016-09-16 12:03:02 +01:00
jules
021209e216
Changed ImagePixelData::clone to return a smart pointer rather than a raw one, to avoid a reference-count leak
2016-06-22 16:33:09 +01:00
jules
16466371f0
Added ability for ImageType::convert() to work on formats with different pixel strides
2016-02-18 16:44:30 +00:00
jules
02492b36b9
Lots of small whitespace tweaks.
2015-12-13 19:32:05 +00:00
hogliux
c7b8e77031
Update copyright notice
2015-07-22 15:59:34 +01:00
jules
06c1a15496
Added some missing 'override' decorators
2015-05-15 12:54:44 +01:00
Timur Doumler
be9a2ff1bb
Implemented support for Android OpenGL native ARGB pixel format.
2015-05-05 17:44:10 +01:00
jules
adf01a6a15
Whitespace
2015-04-24 11:27:21 +01:00
hogliux
e83a69560a
Fix for duplicateIfShared when image depends on other image via SubsectionImageData
2015-04-22 17:38:32 +01:00
jules
46dfd54d9a
Minor cleanups.
2014-09-01 20:59:57 +01:00
jules
7a869d6528
Made the OpenGL graphics context keep a cache of textures it has recently used for Image rendering, to avoid repeatedly moving data to the GPU.
2014-02-20 16:38:49 +00:00
jules
a2c95ce4fd
Cleaned out and optimised some graphics code.
2013-09-04 13:38:54 +01:00
jules
a2280fc25d
Simplified a lot of the image drawing calls internally. Added the new juce logo to the demo app as a more challenging example of path rendering.
2013-08-30 21:42:23 +01:00
jules
da3838db8a
Minor clean-ups.
2013-08-21 21:03:31 +01:00
jules
1b9a60e52c
Added a templated type to the RectangleList class. If you've used this class and these changes cause syntax errors, all you need to do to your code is to replace "RectangleList" with "RectangleList<int>" and everything will work as it did before.
2013-07-28 18:08:28 +01:00
jules
60a0087114
Some internal component peer work.
2013-07-25 14:55:55 +01:00
jules
03c2801f3f
Copyright header update in all module files. juce_core modules are now ISC licensed. All other modules are GPLv2/3/AGPLv3
2013-06-13 13:17:12 +01:00
jules
c7506df13f
Changed some pass-by-references to pass-by-value to improve compiler optimisation.
2013-05-22 23:05:53 -06:00
jules
0ceeb573d8
Minor changes to avoid pedantic compiler warnings.
2012-12-04 21:39:15 +00:00
jules
a25acde808
Image subsection fix. Linux text drag-and-drop.
2012-10-17 18:40:44 +01:00
jules
6b1654e1d2
Fixed some more warnings.
2012-09-24 15:45:25 +01:00
jules
0033491cc8
Cleaned up some compiler warnings.
2012-09-24 14:03:54 +01:00
jules
c6299a08dc
Changed the return type of ImageType::create().
2012-07-18 10:43:27 +01:00