1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-31 03:00:05 +00:00
Commit graph

51 commits

Author SHA1 Message Date
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
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
ed
a54da0b832 Fixed some more typos 2020-01-07 08:53:23 +00:00
ed
383d69c421 Prevent integer overflow in BitmapData::getLinePointer() and BitmapData::getPixelPointer() 2019-08-28 15:19:41 +01: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
a234721110 Added various clang-tidy modernize-* fixes 2019-01-31 15:15:31 +00:00
jules
cadac817c6 Enabled some more warning flags in Xcode, and fixed the problems they caused 2019-01-11 09:52:10 +00: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
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
jules
38295f332b Converted some old typedefs to using declarations 2018-05-03 09:59:05 +01:00
Tom Poole
ab863a6dc2 Replaced all usage of ScopedPointer with std::unique_ptr 2018-04-19 20:27:47 +01:00
ed
cdbc28c18b Add documentation tags 2018-03-15 12:10:32 +00:00
jules
85f74ca7d3 Clarified comments around the JUCE_ALLOW_STATIC_NULL_VARIABLES items to make clear that they're deprecated 2017-12-31 10:49:33 +00:00
jules
970eda679e Added 'final' keyword to a lot of classes from which you really shouldn't be inheriting! 2017-10-09 12:38:06 +01: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
b5afccc37c Updated file headers and the README with the JUCE 5 license 2017-04-27 14:43:04 +01:00
jules
f184ed1710 Clarified a few comments in the Image class 2017-02-13 08:25:58 +00:00
hogliux
2da1bc5f41 Replace include guards with "#pragma once" 2017-02-01 17:18:07 +00: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
hogliux
c7b8e77031 Update copyright notice 2015-07-22 15:59:34 +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
76c8400049 Really minor clean-ups. 2014-01-12 18:06:48 +00:00
jules
d28ebfdb36 Stripped out some unnecessary boilerplate includes from juce_graphics. 2013-08-24 10:49:25 +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
3d74717349 Bit of tidying-up in the Point class, and some spelling fixes in comments. 2013-07-22 13:18:29 +01:00
jules
5a1112ab94 Updated the format of the header include guard macros. 2013-07-17 16:26:35 +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
9eb3c1955a Added some missing JUCE_API modifiers. 2013-02-09 15:21:53 +00:00
jules
0ceeb573d8 Minor changes to avoid pedantic compiler warnings. 2012-12-04 21:39:15 +00:00
jules
af9c71be38 Added Image::Bitmap::getBounds method. 2012-08-07 20:26:52 +01:00
jules
c6299a08dc Changed the return type of ImageType::create(). 2012-07-18 10:43:27 +01:00
jules
36bd285c4b Viewport component listener fix. Minor clean-ups. 2012-01-30 12:59:36 +00:00
jules
dcfa73204b AlertWindow text colour fix. URL::getPort() method. Image::createCopy() method. 2012-01-05 12:12:21 +00:00
jules
0b1cdf6ab1 Refactoring of image storage: new classes ImageType, ImagePixelData, SoftwareImageType, NativeImageType, OpenGLImageType. 2011-10-28 14:21:29 +01:00
jules
04c35b28e6 OpenGL refactoring. 2011-10-24 21:02:56 +01:00
Julian Storer
098400ef31 Removed the Image::setPixelData method - this can be done with Image::BitmapData instead. OSX file chooser options change for aliased files. 2011-09-19 12:30:43 +01:00
Julian Storer
ffc2f5d40e Created c++11 move constructors and operator= methods for a bunch of classes (only enabled for c++11 compilers, of course) 2011-08-21 21:20:28 +01:00
Julian Storer
2c328dfedc Changed some return types from being const objects to non-const objects (for better c++11 compliance in future). This may mean that you need to remove the 'const' from your own code if you override the virtual methods that have changed. 2011-08-19 21:34:34 +01:00