| @@ -169,8 +169,8 @@ private: | |||
| static VstEvent* allocateVSTEvent() | |||
| { | |||
| VstEvent* const e = (VstEvent*) ::calloc (1, sizeof (VstMidiEvent) > sizeof (VstMidiSysexEvent) ? sizeof (VstMidiEvent) | |||
| : sizeof (VstMidiSysexEvent)); | |||
| VstEvent* const e = (VstEvent*) std::calloc (1, sizeof (VstMidiEvent) > sizeof (VstMidiSysexEvent) ? sizeof (VstMidiEvent) | |||
| : sizeof (VstMidiSysexEvent)); | |||
| e->type = kVstMidiType; | |||
| e->byteSize = sizeof (VstMidiEvent); | |||
| return e; | |||
| @@ -181,7 +181,7 @@ private: | |||
| if (e->type == kVstSysExType) | |||
| delete[] (((VstMidiSysexEvent*) e)->sysexDump); | |||
| ::free (e); | |||
| std::free (e); | |||
| } | |||
| }; | |||
| @@ -105,7 +105,7 @@ public: | |||
| If you want an array of zero values, you can use the calloc() method instead. | |||
| */ | |||
| explicit HeapBlock (const size_t numElements) | |||
| : data (static_cast <ElementType*> (::malloc (numElements * sizeof (ElementType)))) | |||
| : data (static_cast <ElementType*> (std::malloc (numElements * sizeof (ElementType)))) | |||
| { | |||
| throwOnAllocationFailure(); | |||
| } | |||
| @@ -116,7 +116,7 @@ public: | |||
| */ | |||
| ~HeapBlock() | |||
| { | |||
| ::free (data); | |||
| std::free (data); | |||
| } | |||
| #if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS | |||
| @@ -203,8 +203,8 @@ public: | |||
| */ | |||
| void malloc (const size_t newNumElements, const size_t elementSize = sizeof (ElementType)) | |||
| { | |||
| ::free (data); | |||
| data = static_cast <ElementType*> (::malloc (newNumElements * elementSize)); | |||
| std::free (data); | |||
| data = static_cast <ElementType*> (std::malloc (newNumElements * elementSize)); | |||
| throwOnAllocationFailure(); | |||
| } | |||
| @@ -213,8 +213,8 @@ public: | |||
| */ | |||
| void calloc (const size_t newNumElements, const size_t elementSize = sizeof (ElementType)) | |||
| { | |||
| ::free (data); | |||
| data = static_cast <ElementType*> (::calloc (newNumElements, elementSize)); | |||
| std::free (data); | |||
| data = static_cast <ElementType*> (std::calloc (newNumElements, elementSize)); | |||
| throwOnAllocationFailure(); | |||
| } | |||
| @@ -224,12 +224,12 @@ public: | |||
| */ | |||
| void allocate (const size_t newNumElements, const bool initialiseToZero) | |||
| { | |||
| ::free (data); | |||
| std::free (data); | |||
| if (initialiseToZero) | |||
| data = static_cast <ElementType*> (::calloc (newNumElements, sizeof (ElementType))); | |||
| data = static_cast <ElementType*> (std::calloc (newNumElements, sizeof (ElementType))); | |||
| else | |||
| data = static_cast <ElementType*> (::malloc (newNumElements * sizeof (ElementType))); | |||
| data = static_cast <ElementType*> (std::malloc (newNumElements * sizeof (ElementType))); | |||
| throwOnAllocationFailure(); | |||
| } | |||
| @@ -242,9 +242,9 @@ public: | |||
| void realloc (const size_t newNumElements, const size_t elementSize = sizeof (ElementType)) | |||
| { | |||
| if (data == nullptr) | |||
| data = static_cast <ElementType*> (::malloc (newNumElements * elementSize)); | |||
| data = static_cast <ElementType*> (std::malloc (newNumElements * elementSize)); | |||
| else | |||
| data = static_cast <ElementType*> (::realloc (data, newNumElements * elementSize)); | |||
| data = static_cast <ElementType*> (std::realloc (data, newNumElements * elementSize)); | |||
| throwOnAllocationFailure(); | |||
| } | |||
| @@ -254,7 +254,7 @@ public: | |||
| */ | |||
| void free() | |||
| { | |||
| ::free (data); | |||
| std::free (data); | |||
| data = nullptr; | |||
| } | |||
| @@ -108,7 +108,7 @@ template <typename JavaType> | |||
| class LocalRef | |||
| { | |||
| public: | |||
| explicit inline LocalRef (JavaType obj_) noexcept : obj (obj_){} | |||
| explicit inline LocalRef (JavaType obj_) noexcept : obj (obj_) {} | |||
| inline LocalRef (const LocalRef& other) noexcept : obj (retain (other.obj)) {} | |||
| ~LocalRef() { clear(); } | |||
| @@ -143,8 +143,7 @@ namespace | |||
| { | |||
| String juceString (JNIEnv* env, jstring s) | |||
| { | |||
| jboolean isCopy; | |||
| const char* const utf8 = env->GetStringUTFChars (s, &isCopy); | |||
| const char* const utf8 = env->GetStringUTFChars (s, nullptr); | |||
| CharPointer_UTF8 utf8CP (utf8); | |||
| const String result (utf8CP); | |||
| env->ReleaseStringUTFChars (s, utf8); | |||
| @@ -30,8 +30,8 @@ void Logger::outputDebugString (const String& text) | |||
| //============================================================================== | |||
| #ifdef JUCE_DLL | |||
| JUCE_API void* juceDLL_malloc (size_t sz) { return ::malloc (sz); } | |||
| JUCE_API void juceDLL_free (void* block) { ::free (block); } | |||
| JUCE_API void* juceDLL_malloc (size_t sz) { return std::malloc (sz); } | |||
| JUCE_API void juceDLL_free (void* block) { std::free (block); } | |||
| #endif | |||
| //============================================================================== | |||
| @@ -104,7 +104,6 @@ | |||
| #endif | |||
| #if JUCE_MSVC | |||
| #include <malloc.h> | |||
| #pragma warning (pop) | |||
| #endif | |||
| @@ -103,6 +103,7 @@ void MessageManager::runDispatchLoop() | |||
| void MessageManager::stopDispatchLoop() | |||
| { | |||
| (new QuitMessage())->post(); | |||
| quitMessagePosted = true; | |||
| } | |||
| bool MessageManager::runDispatchLoopUntil (int millisecondsToRunFor) | |||
| @@ -50,12 +50,12 @@ namespace pnglibNamespace | |||
| #if JUCE_INCLUDE_PNGLIB_CODE || ! defined (JUCE_INCLUDE_PNGLIB_CODE) | |||
| #if _MSC_VER != 1310 | |||
| using ::calloc; // (causes conflict in VS.NET 2003) | |||
| using ::malloc; | |||
| using ::free; | |||
| using std::calloc; // (causes conflict in VS.NET 2003) | |||
| using std::malloc; | |||
| using std::free; | |||
| #endif | |||
| using ::abs; | |||
| using std::abs; | |||
| #define PNG_INTERNAL | |||
| #define NO_DUMMY_DECL | |||
| #define PNG_SETJMP_NOT_SUPPORTED | |||
| @@ -95,10 +95,6 @@ namespace pnglibNamespace | |||
| #pragma warning (pop) | |||
| #endif | |||
| using ::calloc; | |||
| using ::malloc; | |||
| using ::free; | |||
| //============================================================================== | |||
| namespace PNGHelpers | |||
| { | |||
| @@ -180,28 +180,30 @@ public: | |||
| const Rectangle<int> bounds (left, top, right - left, bottom - top); | |||
| if (bounds.isEmpty()) | |||
| return nullptr; | |||
| EdgeTable* et = nullptr; | |||
| jint* const maskDataElements = env->GetIntArrayElements (maskData, 0); | |||
| if (! bounds.isEmpty()) | |||
| { | |||
| et = new EdgeTable (bounds); | |||
| EdgeTable* et = new EdgeTable (bounds); | |||
| jint* const maskDataElements = env->GetIntArrayElements (maskData, 0); | |||
| const jint* mask = maskDataElements; | |||
| const jint* mask = maskDataElements; | |||
| for (int y = top; y < bottom; ++y) | |||
| { | |||
| #if JUCE_LITTLE_ENDIAN | |||
| const uint8* const lineBytes = ((const uint8*) mask) + 3; | |||
| #else | |||
| const uint8* const lineBytes = (const uint8*) mask; | |||
| #endif | |||
| for (int y = top; y < bottom; ++y) | |||
| { | |||
| #if JUCE_LITTLE_ENDIAN | |||
| const uint8* const lineBytes = ((const uint8*) mask) + 3; | |||
| #else | |||
| const uint8* const lineBytes = (const uint8*) mask; | |||
| #endif | |||
| et->clipLineToMask (left, y, lineBytes, 4, bounds.getWidth()); | |||
| mask += bounds.getWidth(); | |||
| et->clipLineToMask (left, y, lineBytes, 4, bounds.getWidth()); | |||
| mask += bounds.getWidth(); | |||
| } | |||
| env->ReleaseIntArrayElements (maskData, maskDataElements, 0); | |||
| } | |||
| env->ReleaseIntArrayElements (maskData, maskDataElements, 0); | |||
| env->DeleteLocalRef (maskData); | |||
| return et; | |||
| } | |||
| @@ -45,6 +45,8 @@ JUCE_JNI_CALLBACK (JUCE_ANDROID_ACTIVITY_CLASSNAME, launchApp, void, (JNIEnv* en | |||
| JUCEApplication* app = dynamic_cast <JUCEApplication*> (JUCEApplicationBase::createInstance()); | |||
| if (! app->initialiseApp (String::empty)) | |||
| exit (0); | |||
| jassert (MessageManager::getInstance()->isThisTheMessageThread()); | |||
| } | |||
| JUCE_JNI_CALLBACK (JUCE_ANDROID_ACTIVITY_CLASSNAME, quitApp, void, (JNIEnv* env, jobject activity)) | |||
| @@ -386,7 +388,7 @@ public: | |||
| jint* dest = env->GetIntArrayElements ((jintArray) buffer.get(), 0); | |||
| if (dest != 0) | |||
| if (dest != nullptr) | |||
| { | |||
| { | |||
| Image temp (new PreallocatedImage (clip.getWidth(), clip.getHeight(), | |||
| @@ -415,26 +417,23 @@ public: | |||
| } | |||
| else | |||
| { | |||
| class ViewRepainter : public CallbackMessage | |||
| struct ViewRepainter : public CallbackMessage | |||
| { | |||
| public: | |||
| ViewRepainter (const GlobalRef& view_, const Rectangle<int>& area_) | |||
| : view (view_), area (area_) | |||
| { | |||
| post(); | |||
| } | |||
| : view (view_), area (area_) {} | |||
| void messageCallback() | |||
| { | |||
| view.callVoidMethod (ComponentPeerView.invalidate, area.getX(), area.getY(), area.getRight(), area.getBottom()); | |||
| view.callVoidMethod (ComponentPeerView.invalidate, area.getX(), area.getY(), | |||
| area.getRight(), area.getBottom()); | |||
| } | |||
| private: | |||
| GlobalRef view; | |||
| const Rectangle<int>& area; | |||
| const Rectangle<int> area; | |||
| }; | |||
| new ViewRepainter (view, area); | |||
| (new ViewRepainter (view, area))->post(); | |||
| } | |||
| } | |||
| @@ -448,29 +447,6 @@ public: | |||
| // TODO | |||
| } | |||
| #if USE_ANDROID_CANVAS | |||
| StringArray getAvailableRenderingEngines() | |||
| { | |||
| StringArray s (ComponentPeer::getAvailableRenderingEngines()); | |||
| s.add ("Android Canvas Renderer"); | |||
| return s; | |||
| } | |||
| int getCurrentRenderingEngine() const | |||
| { | |||
| return usingAndroidGraphics ? 1 : 0; | |||
| } | |||
| void setCurrentRenderingEngine (int index) | |||
| { | |||
| if (usingAndroidGraphics != (index > 0)) | |||
| { | |||
| usingAndroidGraphics = index > 0; | |||
| component->repaint(); | |||
| } | |||
| } | |||
| #endif | |||
| //============================================================================== | |||
| static AndroidComponentPeer* findPeerForJavaView (JNIEnv* env, jobject viewToFind) | |||
| { | |||