diff --git a/extras/JuceDemo/Builds/Android/local.properties b/extras/JuceDemo/Builds/Android/local.properties
index 9056a243f3..a688c88909 100644
--- a/extras/JuceDemo/Builds/Android/local.properties
+++ b/extras/JuceDemo/Builds/Android/local.properties
@@ -2,5 +2,5 @@
# It is automatically generated by the Jucer - DO NOT EDIT IT or your changes will be lost!.
sdk.dir=${user.home}/SDKs/android-sdk-mac_x86
-ndk.dir=${user.home}/SDKs/android-ndk-r5b
+ndk.dir=${user.home}/SDKs/android-ndk-r5c
diff --git a/extras/JuceDemo/Juce Demo.jucer b/extras/JuceDemo/Juce Demo.jucer
index 08a6892b45..129b915b8e 100644
--- a/extras/JuceDemo/Juce Demo.jucer
+++ b/extras/JuceDemo/Juce Demo.jucer
@@ -22,7 +22,7 @@
diff --git a/juce_Config.h b/juce_Config.h
index 2397a93b9d..e1019141f5 100644
--- a/juce_Config.h
+++ b/juce_Config.h
@@ -86,18 +86,16 @@
#define JUCE_DIRECTSOUND 1
#endif
-/** JUCE_DIRECTSHOW: Enables DirectShow media-streaming architecture
- (MS Windows only).
+/** JUCE_DIRECTSHOW: Enables DirectShow media-streaming architecture (MS Windows only).
*/
#ifndef JUCE_DIRECTSHOW
- #define JUCE_DIRECTSHOW 1
+ #define JUCE_DIRECTSHOW 0
#endif
-/** JUCE_MEDIAFOUNDATION: Enables Media Foundation multimedia platform
- (Windows Vista and above).
+/** JUCE_MEDIAFOUNDATION: Enables Media Foundation multimedia platform (Windows Vista and above).
*/
#ifndef JUCE_MEDIAFOUNDATION
- #define JUCE_MEDIAFOUNDATION 1
+ #define JUCE_MEDIAFOUNDATION 0
#endif
#if ! JUCE_WINDOWS
diff --git a/juce_amalgamated.cpp b/juce_amalgamated.cpp
index 619e7722ae..bfcbfd5405 100644
--- a/juce_amalgamated.cpp
+++ b/juce_amalgamated.cpp
@@ -257,18 +257,16 @@
#define JUCE_DIRECTSOUND 1
#endif
-/** JUCE_DIRECTSHOW: Enables DirectShow media-streaming architecture
- (MS Windows only).
+/** JUCE_DIRECTSHOW: Enables DirectShow media-streaming architecture (MS Windows only).
*/
#ifndef JUCE_DIRECTSHOW
- #define JUCE_DIRECTSHOW 1
+ #define JUCE_DIRECTSHOW 0
#endif
-/** JUCE_MEDIAFOUNDATION: Enables Media Foundation multimedia platform
- (Windows Vista and above).
+/** JUCE_MEDIAFOUNDATION: Enables Media Foundation multimedia platform (Windows Vista and above).
*/
#ifndef JUCE_MEDIAFOUNDATION
- #define JUCE_MEDIAFOUNDATION 1
+ #define JUCE_MEDIAFOUNDATION 0
#endif
#if ! JUCE_WINDOWS
@@ -2884,7 +2882,7 @@ void BigInteger::negate() noexcept
negative = (! negative) && ! isZero();
}
-#if JUCE_USE_INTRINSICS
+#if JUCE_USE_INTRINSICS && ! defined (__INTEL_COMPILER)
#pragma intrinsic (_BitScanReverse)
#endif
@@ -56173,6 +56171,7 @@ void TextEditor::insert (const String& text,
totalNumChars = -1;
valueTextNeedsUpdating = true;
+ updateTextHolderSize();
moveCaretTo (caretPositionToMoveTo, false);
repaintText (Range (insertIndex, getTotalNumChars()));
@@ -288659,6 +288658,11 @@ public:
static AndroidJavaCallbacks android;
+// This is an unsatisfactory workaround for a linker warning that appeared in NDK5c.
+// If anyone actually understands what this symbol is for and why the linker gets confused by it,
+// please let me know!
+extern "C" { void* __dso_handle = 0; }
+
#define JUCE_INCLUDED_FILE 1
// Now include the actual code files..
diff --git a/juce_amalgamated.h b/juce_amalgamated.h
index b685d84153..990ef6cddd 100644
--- a/juce_amalgamated.h
+++ b/juce_amalgamated.h
@@ -73,7 +73,7 @@ namespace JuceDummyNamespace {}
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
-#define JUCE_BUILDNUMBER 103
+#define JUCE_BUILDNUMBER 104
/** Current Juce version number.
@@ -305,18 +305,16 @@ namespace JuceDummyNamespace {}
#define JUCE_DIRECTSOUND 1
#endif
-/** JUCE_DIRECTSHOW: Enables DirectShow media-streaming architecture
- (MS Windows only).
+/** JUCE_DIRECTSHOW: Enables DirectShow media-streaming architecture (MS Windows only).
*/
#ifndef JUCE_DIRECTSHOW
- #define JUCE_DIRECTSHOW 1
+ #define JUCE_DIRECTSHOW 0
#endif
-/** JUCE_MEDIAFOUNDATION: Enables Media Foundation multimedia platform
- (Windows Vista and above).
+/** JUCE_MEDIAFOUNDATION: Enables Media Foundation multimedia platform (Windows Vista and above).
*/
#ifndef JUCE_MEDIAFOUNDATION
- #define JUCE_MEDIAFOUNDATION 1
+ #define JUCE_MEDIAFOUNDATION 0
#endif
#if ! JUCE_WINDOWS
@@ -591,7 +589,9 @@ namespace JuceDummyNamespace {}
#elif JUCE_IOS || JUCE_LINUX || JUCE_ANDROID
#define juce_breakDebugger { kill (0, SIGTRAP); }
#elif JUCE_USE_INTRINSICS
- #pragma intrinsic (__debugbreak)
+ #ifndef __INTEL_COMPILER
+ #pragma intrinsic (__debugbreak)
+ #endif
#define juce_breakDebugger { __debugbreak(); }
#elif JUCE_GCC
#define juce_breakDebugger { asm("int $3"); }
@@ -1501,7 +1501,7 @@ private:
JUCE_DECLARE_NON_COPYABLE (ByteOrder);
};
-#if JUCE_USE_INTRINSICS
+#if JUCE_USE_INTRINSICS && ! defined (__INTEL_COMPILER)
#pragma intrinsic (_byteswap_ulong)
#endif
@@ -2284,8 +2284,10 @@ private:
#define JUCE_ATOMICS_WINDOWS 1 // Windows with intrinsics
#if JUCE_USE_INTRINSICS || JUCE_64BIT
- #pragma intrinsic (_InterlockedExchange, _InterlockedIncrement, _InterlockedDecrement, _InterlockedCompareExchange, \
- _InterlockedCompareExchange64, _InterlockedExchangeAdd, _ReadWriteBarrier)
+ #ifndef __INTEL_COMPILER
+ #pragma intrinsic (_InterlockedExchange, _InterlockedIncrement, _InterlockedDecrement, _InterlockedCompareExchange, \
+ _InterlockedCompareExchange64, _InterlockedExchangeAdd, _ReadWriteBarrier)
+ #endif
#define juce_InterlockedExchange(a, b) _InterlockedExchange(a, b)
#define juce_InterlockedIncrement(a) _InterlockedIncrement(a)
#define juce_InterlockedDecrement(a) _InterlockedDecrement(a)
@@ -2305,7 +2307,9 @@ private:
#endif
#if JUCE_64BIT
- #pragma intrinsic (_InterlockedExchangeAdd64, _InterlockedExchange64, _InterlockedIncrement64, _InterlockedDecrement64)
+ #ifndef __INTEL_COMPILER
+ #pragma intrinsic (_InterlockedExchangeAdd64, _InterlockedExchange64, _InterlockedIncrement64, _InterlockedDecrement64)
+ #endif
#define juce_InterlockedExchangeAdd64(a, b) _InterlockedExchangeAdd64(a, b)
#define juce_InterlockedExchange64(a, b) _InterlockedExchange64(a, b)
#define juce_InterlockedIncrement64(a) _InterlockedIncrement64(a)
diff --git a/src/core/juce_PlatformDefs.h b/src/core/juce_PlatformDefs.h
index 59bdb06769..c69305e1fd 100644
--- a/src/core/juce_PlatformDefs.h
+++ b/src/core/juce_PlatformDefs.h
@@ -71,7 +71,9 @@
#elif JUCE_IOS || JUCE_LINUX || JUCE_ANDROID
#define juce_breakDebugger { kill (0, SIGTRAP); }
#elif JUCE_USE_INTRINSICS
- #pragma intrinsic (__debugbreak)
+ #ifndef __INTEL_COMPILER
+ #pragma intrinsic (__debugbreak)
+ #endif
#define juce_breakDebugger { __debugbreak(); }
#elif JUCE_GCC
#define juce_breakDebugger { asm("int $3"); }
diff --git a/src/core/juce_StandardHeader.h b/src/core/juce_StandardHeader.h
index a0bfd50664..ccfe4f4431 100644
--- a/src/core/juce_StandardHeader.h
+++ b/src/core/juce_StandardHeader.h
@@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
-#define JUCE_BUILDNUMBER 103
+#define JUCE_BUILDNUMBER 104
/** Current Juce version number.
diff --git a/src/gui/components/controls/juce_TextEditor.cpp b/src/gui/components/controls/juce_TextEditor.cpp
index 46874a6fcb..e835323ef4 100644
--- a/src/gui/components/controls/juce_TextEditor.cpp
+++ b/src/gui/components/controls/juce_TextEditor.cpp
@@ -2312,6 +2312,7 @@ void TextEditor::insert (const String& text,
totalNumChars = -1;
valueTextNeedsUpdating = true;
+ updateTextHolderSize();
moveCaretTo (caretPositionToMoveTo, false);
repaintText (Range (insertIndex, getTotalNumChars()));
diff --git a/src/maths/juce_BigInteger.cpp b/src/maths/juce_BigInteger.cpp
index 3d9c4d0903..e74f34363f 100644
--- a/src/maths/juce_BigInteger.cpp
+++ b/src/maths/juce_BigInteger.cpp
@@ -281,7 +281,7 @@ void BigInteger::negate() noexcept
negative = (! negative) && ! isZero();
}
-#if JUCE_USE_INTRINSICS
+#if JUCE_USE_INTRINSICS && ! defined (__INTEL_COMPILER)
#pragma intrinsic (_BitScanReverse)
#endif
diff --git a/src/memory/juce_Atomic.h b/src/memory/juce_Atomic.h
index d00f3c1fe5..994043bd15 100644
--- a/src/memory/juce_Atomic.h
+++ b/src/memory/juce_Atomic.h
@@ -202,8 +202,10 @@ private:
#define JUCE_ATOMICS_WINDOWS 1 // Windows with intrinsics
#if JUCE_USE_INTRINSICS || JUCE_64BIT
- #pragma intrinsic (_InterlockedExchange, _InterlockedIncrement, _InterlockedDecrement, _InterlockedCompareExchange, \
- _InterlockedCompareExchange64, _InterlockedExchangeAdd, _ReadWriteBarrier)
+ #ifndef __INTEL_COMPILER
+ #pragma intrinsic (_InterlockedExchange, _InterlockedIncrement, _InterlockedDecrement, _InterlockedCompareExchange, \
+ _InterlockedCompareExchange64, _InterlockedExchangeAdd, _ReadWriteBarrier)
+ #endif
#define juce_InterlockedExchange(a, b) _InterlockedExchange(a, b)
#define juce_InterlockedIncrement(a) _InterlockedIncrement(a)
#define juce_InterlockedDecrement(a) _InterlockedDecrement(a)
@@ -223,7 +225,9 @@ private:
#endif
#if JUCE_64BIT
- #pragma intrinsic (_InterlockedExchangeAdd64, _InterlockedExchange64, _InterlockedIncrement64, _InterlockedDecrement64)
+ #ifndef __INTEL_COMPILER
+ #pragma intrinsic (_InterlockedExchangeAdd64, _InterlockedExchange64, _InterlockedIncrement64, _InterlockedDecrement64)
+ #endif
#define juce_InterlockedExchangeAdd64(a, b) _InterlockedExchangeAdd64(a, b)
#define juce_InterlockedExchange64(a, b) _InterlockedExchange64(a, b)
#define juce_InterlockedIncrement64(a) _InterlockedIncrement64(a)
diff --git a/src/memory/juce_ByteOrder.h b/src/memory/juce_ByteOrder.h
index ac76be9c1e..f9e11d3ec4 100644
--- a/src/memory/juce_ByteOrder.h
+++ b/src/memory/juce_ByteOrder.h
@@ -101,7 +101,7 @@ private:
//==============================================================================
-#if JUCE_USE_INTRINSICS
+#if JUCE_USE_INTRINSICS && ! defined (__INTEL_COMPILER)
#pragma intrinsic (_byteswap_ulong)
#endif
diff --git a/src/native/android/juce_android_NativeCode.cpp b/src/native/android/juce_android_NativeCode.cpp
index afcfc2988e..74ca8fb1c9 100644
--- a/src/native/android/juce_android_NativeCode.cpp
+++ b/src/native/android/juce_android_NativeCode.cpp
@@ -629,6 +629,11 @@ public:
static AndroidJavaCallbacks android;
+// This is an unsatisfactory workaround for a linker warning that appeared in NDK5c.
+// If anyone actually understands what this symbol is for and why the linker gets confused by it,
+// please let me know!
+extern "C" { void* __dso_handle = 0; }
+
//==============================================================================
#define JUCE_INCLUDED_FILE 1