Browse Source

Warnings: Fix missing-prototypes warnings

pull/22/head
reuk 3 years ago
parent
commit
19ddbe2368
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
38 changed files with 133 additions and 75 deletions
  1. +1
    -1
      extras/Build/CMake/JUCEHelperTargets.cmake
  2. +2
    -1
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
  3. +1
    -1
      modules/juce_audio_devices/audio_io/juce_SampleRateHelpers.cpp
  4. +1
    -0
      modules/juce_audio_devices/native/juce_android_Oboe.cpp
  5. +1
    -0
      modules/juce_audio_devices/native/juce_android_OpenSL.cpp
  6. +2
    -2
      modules/juce_audio_devices/native/juce_linux_ALSA.cpp
  7. +1
    -1
      modules/juce_audio_devices/native/juce_win32_DirectSound.cpp
  8. +3
    -3
      modules/juce_audio_devices/native/juce_win32_WASAPI.cpp
  9. +4
    -0
      modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm
  10. +3
    -0
      modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp
  11. +5
    -0
      modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp
  12. +15
    -11
      modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp
  13. +4
    -0
      modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
  14. +11
    -3
      modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp
  15. +0
    -5
      modules/juce_audio_plugin_client/utility/juce_CreatePluginFilter.h
  16. +2
    -0
      modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp
  17. +1
    -1
      modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
  18. +5
    -0
      modules/juce_audio_processors/juce_audio_processors.h
  19. +1
    -1
      modules/juce_core/native/juce_android_Files.cpp
  20. +2
    -0
      modules/juce_core/native/juce_android_Network.cpp
  21. +1
    -1
      modules/juce_core/native/juce_android_Threads.cpp
  22. +11
    -11
      modules/juce_core/native/juce_win32_Files.cpp
  23. +1
    -0
      modules/juce_core/native/juce_win32_SystemStats.cpp
  24. +2
    -0
      modules/juce_core/native/juce_win32_Threads.cpp
  25. +0
    -4
      modules/juce_core/network/juce_URL.cpp
  26. +1
    -0
      modules/juce_events/native/juce_android_Messaging.cpp
  27. +3
    -2
      modules/juce_events/native/juce_linux_Messaging.cpp
  28. +3
    -3
      modules/juce_graphics/native/juce_android_GraphicsContext.cpp
  29. +1
    -0
      modules/juce_graphics/native/juce_android_IconHelpers.cpp
  30. +1
    -0
      modules/juce_graphics/native/juce_linux_IconHelpers.cpp
  31. +25
    -17
      modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp
  32. +1
    -0
      modules/juce_graphics/native/juce_win32_IconHelpers.cpp
  33. +3
    -3
      modules/juce_gui_basics/native/accessibility/juce_win32_Accessibility.cpp
  34. +2
    -0
      modules/juce_gui_basics/native/juce_linux_Windowing.cpp
  35. +1
    -1
      modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp
  36. +8
    -3
      modules/juce_gui_basics/native/juce_win32_Windowing.cpp
  37. +3
    -0
      modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
  38. +1
    -0
      modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp

+ 1
- 1
extras/Build/CMake/JUCEHelperTargets.cmake View File

@@ -25,7 +25,7 @@ elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQU
-Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare
-Wint-conversion -Wconditional-uninitialized -Wconstant-conversion
-Wsign-conversion -Wbool-conversion -Wextra-semi -Wunreachable-code
-Wcast-align -Wshift-sign-overflow
-Wcast-align -Wshift-sign-overflow -Wmissing-prototypes
-Wnullable-to-nonnull-conversion -Wno-ignored-qualifiers -Wswitch-enum
-Wpedantic -Wdeprecated
$<$<OR:$<COMPILE_LANGUAGE:CXX>,$<COMPILE_LANGUAGE:OBJCXX>>:


+ 2
- 1
extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp View File

@@ -856,7 +856,8 @@ ProjectExporter::BuildConfiguration::BuildConfiguration (Project& p, const Value
"-Wshorten-64-to-32", "-Wconversion", "-Wint-conversion",
"-Wconditional-uninitialized", "-Wconstant-conversion", "-Wbool-conversion",
"-Wextra-semi", "-Wshift-sign-overflow",
"-Wshadow-all", "-Wnullable-to-nonnull-conversion"
"-Wshadow-all", "-Wnullable-to-nonnull-conversion",
"-Wmissing-prototypes"
});
llvmFlags.cpp.addArray ({
"-Wunused-private-field", "-Winconsistent-missing-destructor-override"


+ 1
- 1
modules/juce_audio_devices/audio_io/juce_SampleRateHelpers.cpp View File

@@ -25,7 +25,7 @@ namespace juce
namespace SampleRateHelpers
{
const auto& getAllSampleRates()
static inline const std::vector<double>& getAllSampleRates()
{
static auto sampleRates = []
{


+ 1
- 0
modules/juce_audio_devices/native/juce_android_Oboe.cpp View File

@@ -1416,6 +1416,7 @@ private:
};
//==============================================================================
pthread_t juce_createRealtimeAudioThread (void* (*entry) (void*), void* userPtr);
pthread_t juce_createRealtimeAudioThread (void* (*entry) (void*), void* userPtr)
{
auto thread = std::make_unique<OboeRealtimeThread>();


+ 1
- 0
modules/juce_audio_devices/native/juce_android_OpenSL.cpp View File

@@ -1273,6 +1273,7 @@ private:
};
//==============================================================================
pthread_t juce_createRealtimeAudioThread (void* (*entry) (void*), void* userPtr);
pthread_t juce_createRealtimeAudioThread (void* (*entry) (void*), void* userPtr)
{
auto thread = std::make_unique<SLRealtimeThread>();


+ 2
- 2
modules/juce_audio_devices/native/juce_linux_ALSA.cpp View File

@@ -1287,12 +1287,12 @@ private:
}
//==============================================================================
AudioIODeviceType* createAudioIODeviceType_ALSA_Soundcards()
static inline AudioIODeviceType* createAudioIODeviceType_ALSA_Soundcards()
{
return new ALSAAudioIODeviceType (true, "ALSA HW");
}
AudioIODeviceType* createAudioIODeviceType_ALSA_PCMDevices()
static inline AudioIODeviceType* createAudioIODeviceType_ALSA_PCMDevices()
{
return new ALSAAudioIODeviceType (false, "ALSA");
}


+ 1
- 1
modules/juce_audio_devices/native/juce_win32_DirectSound.cpp View File

@@ -130,7 +130,7 @@ namespace juce
//==============================================================================
namespace DSoundLogging
{
String getErrorMessage (HRESULT hr)
static String getErrorMessage (HRESULT hr)
{
const char* result = nullptr;


+ 3
- 3
modules/juce_audio_devices/native/juce_win32_WASAPI.cpp View File

@@ -33,7 +33,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
namespace WasapiClasses
{
void logFailure (HRESULT hr)
static void logFailure (HRESULT hr)
{
ignoreUnused (hr);
jassert (hr != (HRESULT) 0x800401f0); // If you hit this, it means you're trying to call from
@@ -89,7 +89,7 @@ void logFailure (HRESULT hr)
#undef check
bool check (HRESULT hr)
static bool check (HRESULT hr)
{
logFailure (hr);
return SUCCEEDED (hr);
@@ -361,7 +361,7 @@ namespace juce
namespace WasapiClasses
{
String getDeviceID (IMMDevice* device)
static String getDeviceID (IMMDevice* device)
{
String s;
WCHAR* deviceId = nullptr;


+ 4
- 0
modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm View File

@@ -2046,9 +2046,13 @@ private:
//==============================================================================
#if JUCE_IOS
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
bool JUCE_CALLTYPE juce_isInterAppAudioConnected() { return false; }
void JUCE_CALLTYPE juce_switchToHostApplication() {}
Image JUCE_CALLTYPE juce_getIAAHostIcon (int) { return {}; }
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
#endif
JUCE_END_IGNORE_WARNINGS_GCC_LIKE


+ 3
- 0
modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp View File

@@ -60,7 +60,10 @@
#else
#if _MSC_VER
short __stdcall NewPlugIn (void*);
short __stdcall NewPlugIn (void*) { return 0; }
short __stdcall _PI_GetRoutineDescriptor (long, void*);
short __stdcall _PI_GetRoutineDescriptor (long, void*) { return 0; }
#endif


+ 5
- 0
modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp View File

@@ -132,6 +132,8 @@ protected:
#if JucePlugin_Build_Standalone && JUCE_IOS
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
using namespace juce;
bool JUCE_CALLTYPE juce_isInterAppAudioConnected()
@@ -155,6 +157,9 @@ Image JUCE_CALLTYPE juce_getIAAHostIcon (int size)
return Image();
}
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
#endif
#endif

+ 15
- 11
modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp View File

@@ -279,7 +279,7 @@ private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (UnityPeer)
};
ComponentPeer* createUnityPeer (Component& c) { return new UnityPeer (c); }
static ComponentPeer* createUnityPeer (Component& c) { return new UnityPeer (c); }
//==============================================================================
class AudioProcessorUnityWrapper
@@ -486,7 +486,7 @@ private:
};
//==============================================================================
HashMap<int, AudioProcessorUnityWrapper*>& getWrapperMap()
static HashMap<int, AudioProcessorUnityWrapper*>& getWrapperMap()
{
static HashMap<int, AudioProcessorUnityWrapper*> wrapperMap;
return wrapperMap;
@@ -505,7 +505,7 @@ static void onWrapperDeletion (AudioProcessorUnityWrapper* wrapperToRemove)
//==============================================================================
namespace UnityCallbacks
{
int UNITY_INTERFACE_API createCallback (UnityAudioEffectState* state)
static int UNITY_INTERFACE_API createCallback (UnityAudioEffectState* state)
{
auto* pluginInstance = new AudioProcessorUnityWrapper (false);
pluginInstance->create (state);
@@ -517,7 +517,7 @@ namespace UnityCallbacks
return 0;
}
int UNITY_INTERFACE_API releaseCallback (UnityAudioEffectState* state)
static int UNITY_INTERFACE_API releaseCallback (UnityAudioEffectState* state)
{
auto* pluginInstance = state->getEffectData<AudioProcessorUnityWrapper>();
pluginInstance->release();
@@ -531,7 +531,7 @@ namespace UnityCallbacks
return 0;
}
int UNITY_INTERFACE_API resetCallback (UnityAudioEffectState* state)
static int UNITY_INTERFACE_API resetCallback (UnityAudioEffectState* state)
{
auto* pluginInstance = state->getEffectData<AudioProcessorUnityWrapper>();
pluginInstance->reset();
@@ -539,14 +539,14 @@ namespace UnityCallbacks
return 0;
}
int UNITY_INTERFACE_API setPositionCallback (UnityAudioEffectState* state, unsigned int pos)
static int UNITY_INTERFACE_API setPositionCallback (UnityAudioEffectState* state, unsigned int pos)
{
ignoreUnused (state, pos);
return 0;
}
int UNITY_INTERFACE_API setFloatParameterCallback (UnityAudioEffectState* state, int index, float value)
static int UNITY_INTERFACE_API setFloatParameterCallback (UnityAudioEffectState* state, int index, float value)
{
auto* pluginInstance = state->getEffectData<AudioProcessorUnityWrapper>();
pluginInstance->setParameter (index, value);
@@ -554,7 +554,7 @@ namespace UnityCallbacks
return 0;
}
int UNITY_INTERFACE_API getFloatParameterCallback (UnityAudioEffectState* state, int index, float* value, char* valueStr)
static int UNITY_INTERFACE_API getFloatParameterCallback (UnityAudioEffectState* state, int index, float* value, char* valueStr)
{
auto* pluginInstance = state->getEffectData<AudioProcessorUnityWrapper>();
*value = pluginInstance->getParameter (index);
@@ -564,7 +564,7 @@ namespace UnityCallbacks
return 0;
}
int UNITY_INTERFACE_API getFloatBufferCallback (UnityAudioEffectState* state, const char* name, float* buffer, int numSamples)
static int UNITY_INTERFACE_API getFloatBufferCallback (UnityAudioEffectState* state, const char* name, float* buffer, int numSamples)
{
ignoreUnused (numSamples);
@@ -608,8 +608,8 @@ namespace UnityCallbacks
return 0;
}
int UNITY_INTERFACE_API processCallback (UnityAudioEffectState* state, float* inBuffer, float* outBuffer,
unsigned int bufferSize, int numInChannels, int numOutChannels)
static int UNITY_INTERFACE_API processCallback (UnityAudioEffectState* state, float* inBuffer, float* outBuffer,
unsigned int bufferSize, int numInChannels, int numOutChannels)
{
auto* pluginInstance = state->getEffectData<AudioProcessorUnityWrapper>();
@@ -769,6 +769,8 @@ UNITY_INTERFACE_EXPORT void UNITY_INTERFACE_API unitySetScreenBounds (int id, fl
//==============================================================================
#if JUCE_WINDOWS
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID)
{
if (reason == DLL_PROCESS_ATTACH)
@@ -776,6 +778,8 @@ UNITY_INTERFACE_EXPORT void UNITY_INTERFACE_API unitySetScreenBounds (int id, fl
return true;
}
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
#endif
#endif

+ 4
- 0
modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp View File

@@ -2146,6 +2146,8 @@ namespace
#define JUCE_EXPORTED_FUNCTION extern "C" __attribute__ ((visibility("default")))
#endif
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
//==============================================================================
// Mac startup code..
#if JUCE_MAC
@@ -2221,6 +2223,8 @@ namespace
}
#endif
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
JUCE_END_IGNORE_WARNINGS_MSVC
#endif

+ 11
- 3
modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp View File

@@ -285,9 +285,9 @@ static QueryInterfaceResult queryAdditionalInterfaces (AudioProcessor* processor
return {};
}
tresult extractResult (const QueryInterfaceResult& userInterface,
const InterfaceResultWithDeferredAddRef& juceInterface,
void** obj)
static tresult extractResult (const QueryInterfaceResult& userInterface,
const InterfaceResultWithDeferredAddRef& juceInterface,
void** obj)
{
if (userInterface.isOk() && juceInterface.isOk())
{
@@ -3481,8 +3481,12 @@ bool shutdownModule()
#endif
#if JUCE_WINDOWS
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
extern "C" __declspec (dllexport) bool InitDll() { return initModule(); }
extern "C" __declspec (dllexport) bool ExitDll() { return shutdownModule(); }
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
#elif JUCE_LINUX || JUCE_BSD
void* moduleHandle = nullptr;
int moduleEntryCounter = 0;
@@ -3859,7 +3863,11 @@ extern "C" SMTG_EXPORT_SYMBOL IPluginFactory* PLUGIN_API GetPluginFactory()
//==============================================================================
#if JUCE_WINDOWS
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID) { if (reason == DLL_PROCESS_ATTACH) Process::setCurrentModuleInstanceHandle (instance); return true; }
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
#endif
JUCE_END_NO_SANITIZE


+ 0
- 5
modules/juce_audio_plugin_client/utility/juce_CreatePluginFilter.h View File

@@ -18,11 +18,6 @@
#pragma once
/** Somewhere in the codebase of your plugin, you need to implement this function
and make it return a new instance of the filter subclass that you're building.
*/
juce::AudioProcessor* JUCE_CALLTYPE createPluginFilter();
namespace juce
{


+ 2
- 0
modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp View File

@@ -28,6 +28,7 @@ namespace juce
{
#if JucePlugin_Build_Unity
bool juce_isRunningInUnity();
bool juce_isRunningInUnity() { return PluginHostType::getPluginLoadedAs() == AudioProcessor::wrapperType_Unity; }
#endif
@@ -124,6 +125,7 @@ namespace juce
#endif
#if JucePlugin_Build_VST
bool JUCE_API handleManufacturerSpecificVST2Opcode (int32 index, pointer_sized_int value, void* ptr, float);
bool JUCE_API handleManufacturerSpecificVST2Opcode (int32 index, pointer_sized_int value, void* ptr, float)
{
#if VST3_REPLACEMENT_AVAILABLE


+ 1
- 1
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp View File

@@ -137,7 +137,7 @@ private:
};
//==============================================================================
std::array<uint32, 4> getNormalisedTUID (const TUID& tuid) noexcept
static std::array<uint32, 4> getNormalisedTUID (const TUID& tuid) noexcept
{
const FUID fuid { tuid };
return { { fuid.getLong1(), fuid.getLong2(), fuid.getLong3(), fuid.getLong4() } };


+ 5
- 0
modules/juce_audio_processors/juce_audio_processors.h View File

@@ -142,3 +142,8 @@
#include "utilities/juce_ParameterAttachments.h"
#include "utilities/juce_AudioProcessorValueTreeState.h"
#include "utilities/juce_PluginHostType.h"
// This is here to avoid missing-prototype warnings in user code.
// If you're implementing a plugin, you should supply a body for
// this function in your own code.
juce::AudioProcessor* JUCE_CALLTYPE createPluginFilter();

+ 1
- 1
modules/juce_core/native/juce_android_Files.cpp View File

@@ -479,7 +479,7 @@ struct AndroidContentUriOutputStream : public OutputStream
int64 pos = 0;
};
OutputStream* juce_CreateContentURIOutputStream (const URL& url)
static OutputStream* juce_CreateContentURIOutputStream (const URL& url)
{
auto stream = AndroidContentUriResolver::getStreamForContentUri (url, false);


+ 2
- 0
modules/juce_core/native/juce_android_Network.cpp View File

@@ -246,6 +246,7 @@ static LocalRef<jobject> getMulticastLock()
return multicastLock;
}
JUCE_API void JUCE_CALLTYPE acquireMulticastLock();
JUCE_API void JUCE_CALLTYPE acquireMulticastLock()
{
auto multicastLock = getMulticastLock();
@@ -254,6 +255,7 @@ JUCE_API void JUCE_CALLTYPE acquireMulticastLock()
getEnv()->CallVoidMethod (multicastLock.get(), AndroidMulticastLock.acquire);
}
JUCE_API void JUCE_CALLTYPE releaseMulticastLock();
JUCE_API void JUCE_CALLTYPE releaseMulticastLock()
{
auto multicastLock = getMulticastLock();


+ 1
- 1
modules/juce_core/native/juce_android_Threads.cpp View File

@@ -56,7 +56,7 @@ JNIEnv* getEnv() noexcept
return nullptr;
}
void JNICALL juce_JavainitialiseJUCE (JNIEnv* env, jobject /*jclass*/, jobject context)
static void JNICALL juce_JavainitialiseJUCE (JNIEnv* env, jobject /*jclass*/, jobject context)
{
Thread::initialiseJUCE (env, context);
}


+ 11
- 11
modules/juce_core/native/juce_win32_Files.cpp View File

@@ -64,12 +64,12 @@ namespace WindowsFileHelpers
#endif
//==============================================================================
DWORD getAtts (const String& path) noexcept
static DWORD getAtts (const String& path) noexcept
{
return GetFileAttributes (path.toWideCharPointer());
}
bool changeAtts (const String& path, DWORD bitsToSet, DWORD bitsToClear) noexcept
static bool changeAtts (const String& path, DWORD bitsToSet, DWORD bitsToClear) noexcept
{
auto oldAtts = getAtts (path);
@@ -82,7 +82,7 @@ namespace WindowsFileHelpers
|| SetFileAttributes (path.toWideCharPointer(), newAtts) != FALSE;
}
int64 fileTimeToTime (const FILETIME* const ft) noexcept
static int64 fileTimeToTime (const FILETIME* const ft) noexcept
{
static_assert (sizeof (ULARGE_INTEGER) == sizeof (FILETIME),
"ULARGE_INTEGER is too small to hold FILETIME: please report!");
@@ -90,7 +90,7 @@ namespace WindowsFileHelpers
return (int64) ((reinterpret_cast<const ULARGE_INTEGER*> (ft)->QuadPart - 116444736000000000LL) / 10000);
}
FILETIME* timeToFileTime (const int64 time, FILETIME* const ft) noexcept
static FILETIME* timeToFileTime (const int64 time, FILETIME* const ft) noexcept
{
if (time <= 0)
return nullptr;
@@ -99,7 +99,7 @@ namespace WindowsFileHelpers
return ft;
}
String getDriveFromPath (String path)
static String getDriveFromPath (String path)
{
if (path.isNotEmpty() && path[1] == ':' && path[2] == 0)
path << '\\';
@@ -115,7 +115,7 @@ namespace WindowsFileHelpers
return path;
}
int64 getDiskSpaceInfo (const String& path, const bool total)
static int64 getDiskSpaceInfo (const String& path, const bool total)
{
ULARGE_INTEGER spc, tot, totFree;
@@ -126,12 +126,12 @@ namespace WindowsFileHelpers
return 0;
}
unsigned int getWindowsDriveType (const String& path)
static unsigned int getWindowsDriveType (const String& path)
{
return GetDriveType (getDriveFromPath (path).toWideCharPointer());
}
File getSpecialFolderPath (int type)
static File getSpecialFolderPath (int type)
{
WCHAR path[MAX_PATH + 256];
@@ -141,7 +141,7 @@ namespace WindowsFileHelpers
return {};
}
File getModuleFileName (HINSTANCE moduleHandle)
static File getModuleFileName (HINSTANCE moduleHandle)
{
WCHAR dest[MAX_PATH + 256];
dest[0] = 0;
@@ -149,7 +149,7 @@ namespace WindowsFileHelpers
return File (String (dest));
}
Result getResultForLastError()
static Result getResultForLastError()
{
TCHAR messageBuffer[256] = {};
@@ -159,7 +159,7 @@ namespace WindowsFileHelpers
return Result::fail (String (messageBuffer));
}
}
} // namespace WindowsFileHelpers
//==============================================================================
#if JUCE_ALLOW_STATIC_NULL_VARIABLES


+ 1
- 0
modules/juce_core/native/juce_win32_SystemStats.cpp View File

@@ -214,6 +214,7 @@ static DebugFlagsInitialiser debugFlagsInitialiser;
return 0;
}
#else
RTL_OSVERSIONINFOW getWindowsVersionInfo();
RTL_OSVERSIONINFOW getWindowsVersionInfo()
{
RTL_OSVERSIONINFOW versionInfo = {};


+ 2
- 0
modules/juce_core/native/juce_win32_Threads.cpp View File

@@ -197,6 +197,7 @@ static int lastProcessPriority = -1;
// called when the app gains focus because Windows does weird things to process priority
// when you swap apps, and this forces an update when the app is brought to the front.
void juce_repeatLastProcessPriority();
void juce_repeatLastProcessPriority()
{
if (lastProcessPriority >= 0) // (avoid changing this if it's not been explicitly set by the app..)
@@ -265,6 +266,7 @@ void JUCE_CALLTYPE Process::terminate()
ExitProcess (1);
}
bool juce_isRunningInWine();
bool juce_isRunningInWine()
{
HMODULE ntdll = GetModuleHandleA ("ntdll");


+ 0
- 4
modules/juce_core/network/juce_URL.cpp View File

@@ -790,10 +790,6 @@ std::unique_ptr<InputStream> URL::createInputStream (const InputStreamOptions& o
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
}
#if JUCE_ANDROID
OutputStream* juce_CreateContentURIOutputStream (const URL&);
#endif
std::unique_ptr<OutputStream> URL::createOutputStream() const
{
if (isLocalFile())


+ 1
- 0
modules/juce_events/native/juce_android_Messaging.cpp View File

@@ -288,6 +288,7 @@ private:
//==============================================================================
File juce_getExecutableFile();
void juce_juceEventsAndroidStartApp();
void juce_juceEventsAndroidStartApp()
{
auto dllPath = juce_getExecutableFile().getFullPathName();


+ 3
- 2
modules/juce_events/native/juce_linux_Messaging.cpp View File

@@ -236,13 +236,13 @@ namespace LinuxErrorHandling
{
static bool keyboardBreakOccurred = false;
void keyboardBreakSignalHandler (int sig)
static void keyboardBreakSignalHandler (int sig)
{
if (sig == SIGINT)
keyboardBreakOccurred = true;
}
void installKeyboardBreakHandler()
static void installKeyboardBreakHandler()
{
struct sigaction saction;
sigset_t maskSet;
@@ -324,6 +324,7 @@ void LinuxEventLoop::unregisterFdCallback (int fd)
} // namespace juce
JUCE_API std::vector<std::pair<int, std::function<void (int)>>> getFdReadCallbacks();
JUCE_API std::vector<std::pair<int, std::function<void (int)>>> getFdReadCallbacks()
{
using namespace juce;


+ 3
- 3
modules/juce_graphics/native/juce_android_GraphicsContext.cpp View File

@@ -21,7 +21,7 @@ namespace juce
namespace GraphicsHelpers
{
LocalRef<jobject> createPaint (Graphics::ResamplingQuality quality)
static LocalRef<jobject> createPaint (Graphics::ResamplingQuality quality)
{
jint constructorFlags = 1 /*ANTI_ALIAS_FLAG*/
| 4 /*DITHER_FLAG*/
@@ -33,7 +33,7 @@ namespace GraphicsHelpers
return LocalRef<jobject>(getEnv()->NewObject (AndroidPaint, AndroidPaint.constructor, constructorFlags));
}
const LocalRef<jobject> createMatrix (JNIEnv* env, const AffineTransform& t)
static LocalRef<jobject> createMatrix (JNIEnv* env, const AffineTransform& t)
{
auto m = LocalRef<jobject>(env->NewObject (AndroidMatrix, AndroidMatrix.constructor));
@@ -49,7 +49,7 @@ namespace GraphicsHelpers
return m;
}
}
} // namespace GraphicsHelpers
ImagePixelData::Ptr NativeImageType::create (Image::PixelFormat format, int width, int height, bool clearImage) const
{


+ 1
- 0
modules/juce_graphics/native/juce_android_IconHelpers.cpp View File

@@ -18,5 +18,6 @@
namespace juce
{
Image JUCE_API getIconFromApplication (const String&, int);
Image JUCE_API getIconFromApplication (const String&, int) { return {}; }
}

+ 1
- 0
modules/juce_graphics/native/juce_linux_IconHelpers.cpp View File

@@ -18,5 +18,6 @@
namespace juce
{
Image JUCE_API getIconFromApplication (const String&, int);
Image JUCE_API getIconFromApplication (const String&, int) { return {}; }
}

+ 25
- 17
modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp View File

@@ -222,7 +222,7 @@ namespace DirectWriteTypeLayout
return dwFontMetrics.designUnitsPerEm / totalHeight;
}
void setTextFormatProperties (const AttributedString& text, IDWriteTextFormat& format)
static void setTextFormatProperties (const AttributedString& text, IDWriteTextFormat& format)
{
DWRITE_TEXT_ALIGNMENT alignment = DWRITE_TEXT_ALIGNMENT_LEADING;
DWRITE_WORD_WRAPPING wrapType = DWRITE_WORD_WRAPPING_WRAP;
@@ -264,13 +264,13 @@ namespace DirectWriteTypeLayout
format.SetWordWrapping (wrapType);
}
void addAttributedRange (const AttributedString::Attribute& attr,
IDWriteTextLayout& textLayout,
CharPointer_UTF16 begin,
CharPointer_UTF16 textPointer,
const UINT32 textLen,
ID2D1RenderTarget& renderTarget,
IDWriteFontCollection& fontCollection)
static void addAttributedRange (const AttributedString::Attribute& attr,
IDWriteTextLayout& textLayout,
CharPointer_UTF16 begin,
CharPointer_UTF16 textPointer,
const UINT32 textLen,
ID2D1RenderTarget& renderTarget,
IDWriteFontCollection& fontCollection)
{
DWRITE_TEXT_RANGE range;
range.startPosition = (UINT32) (textPointer.getAddress() - begin.getAddress());
@@ -330,9 +330,13 @@ namespace DirectWriteTypeLayout
}
}
bool setupLayout (const AttributedString& text, float maxWidth, float maxHeight,
ID2D1RenderTarget& renderTarget, IDWriteFactory& directWriteFactory,
IDWriteFontCollection& fontCollection, ComSmartPtr<IDWriteTextLayout>& textLayout)
static bool setupLayout (const AttributedString& text,
float maxWidth,
float maxHeight,
ID2D1RenderTarget& renderTarget,
IDWriteFactory& directWriteFactory,
IDWriteFontCollection& fontCollection,
ComSmartPtr<IDWriteTextLayout>& textLayout)
{
// To add color to text, we need to create a D2D render target
// Since we are not actually rendering to a D2D context we create a temporary GDI render target
@@ -396,10 +400,11 @@ namespace DirectWriteTypeLayout
return true;
}
void createLayout (TextLayout& layout, const AttributedString& text,
IDWriteFactory& directWriteFactory,
IDWriteFontCollection& fontCollection,
ID2D1DCRenderTarget& renderTarget)
static void createLayout (TextLayout& layout,
const AttributedString& text,
IDWriteFactory& directWriteFactory,
IDWriteFontCollection& fontCollection,
ID2D1DCRenderTarget& renderTarget)
{
ComSmartPtr<IDWriteTextLayout> dwTextLayout;
@@ -435,8 +440,11 @@ namespace DirectWriteTypeLayout
}
}
void drawToD2DContext (const AttributedString& text, const Rectangle<float>& area, ID2D1RenderTarget& renderTarget,
IDWriteFactory& directWriteFactory, IDWriteFontCollection& fontCollection)
static inline void drawToD2DContext (const AttributedString& text,
const Rectangle<float>& area,
ID2D1RenderTarget& renderTarget,
IDWriteFactory& directWriteFactory,
IDWriteFontCollection& fontCollection)
{
ComSmartPtr<IDWriteTextLayout> dwTextLayout;


+ 1
- 0
modules/juce_graphics/native/juce_win32_IconHelpers.cpp View File

@@ -18,5 +18,6 @@
namespace juce
{
Image JUCE_API getIconFromApplication (const String&, int);
Image JUCE_API getIconFromApplication (const String&, int) { return {}; }
}

+ 3
- 3
modules/juce_gui_basics/native/accessibility/juce_win32_Accessibility.cpp View File

@@ -277,12 +277,12 @@ void AccessibilityHandler::postAnnouncement (const String& announcementString, A
//==============================================================================
namespace WindowsAccessibility
{
long getUiaRootObjectId()
static long getUiaRootObjectId()
{
return static_cast<long> (UiaRootObjectId);
}
bool handleWmGetObject (AccessibilityHandler* handler, WPARAM wParam, LPARAM lParam, LRESULT* res)
static bool handleWmGetObject (AccessibilityHandler* handler, WPARAM wParam, LPARAM lParam, LRESULT* res)
{
if (isStartingUpOrShuttingDown() || (handler == nullptr || ! isHandlerValid (*handler)))
return false;
@@ -301,7 +301,7 @@ namespace WindowsAccessibility
return false;
}
void revokeUIAMapEntriesForWindow (HWND hwnd)
static void revokeUIAMapEntriesForWindow (HWND hwnd)
{
if (auto* uiaWrapper = WindowsUIAWrapper::getInstanceWithoutCreating())
uiaWrapper->returnRawElementProvider (hwnd, 0, 0, nullptr);


+ 2
- 0
modules/juce_gui_basics/native/juce_linux_Windowing.cpp View File

@@ -892,12 +892,14 @@ Image juce_createIconForFile (const File&)
return {};
}
void juce_LinuxAddRepaintListener (ComponentPeer* peer, Component* dummy);
void juce_LinuxAddRepaintListener (ComponentPeer* peer, Component* dummy)
{
if (auto* linuxPeer = dynamic_cast<LinuxComponentPeer*> (peer))
linuxPeer->addOpenGLRepaintListener (dummy);
}
void juce_LinuxRemoveRepaintListener (ComponentPeer* peer, Component* dummy);
void juce_LinuxRemoveRepaintListener (ComponentPeer* peer, Component* dummy)
{
if (auto* linuxPeer = dynamic_cast<LinuxComponentPeer*> (peer))


+ 1
- 1
modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp View File

@@ -205,7 +205,7 @@ namespace DragAndDropHelpers
};
//==============================================================================
HDROP createHDrop (const StringArray& fileNames)
static HDROP createHDrop (const StringArray& fileNames)
{
size_t totalBytes = 0;
for (int i = fileNames.size(); --i >= 0;)


+ 8
- 3
modules/juce_gui_basics/native/juce_win32_Windowing.cpp View File

@@ -54,7 +54,7 @@ void* getUser32Function (const char*);
#if JUCE_DEBUG
int numActiveScopedDpiAwarenessDisablers = 0;
bool isInScopedDPIAwarenessDisabler() { return numActiveScopedDpiAwarenessDisablers > 0; }
static bool isInScopedDPIAwarenessDisabler() { return numActiveScopedDpiAwarenessDisablers > 0; }
extern HWND juce_messageWindowHandle;
#endif
@@ -642,6 +642,7 @@ static Point<int> convertLogicalScreenPointToPhysical (Point<int> p, HWND h) noe
return p;
}
JUCE_API double getScaleFactorForWindow (HWND h);
JUCE_API double getScaleFactorForWindow (HWND h)
{
// NB. Using a local function here because we need to call this method from the plug-in wrappers
@@ -823,6 +824,7 @@ Desktop::DisplayOrientation Desktop::getCurrentOrientation() const
return upright;
}
int64 getMouseEventTime();
int64 getMouseEventTime()
{
static int64 eventTimeOffset = 0;
@@ -1095,7 +1097,7 @@ Image createSnapshotOfNativeWindow (void* nativeWindowHandle)
//==============================================================================
namespace IconConverters
{
Image createImageFromHICON (HICON icon)
static Image createImageFromHICON (HICON icon)
{
if (icon == nullptr)
return {};
@@ -1203,6 +1205,7 @@ namespace IconConverters
return {};
}
HICON createHICONFromImage (const Image& image, const BOOL isIcon, int hotspotX, int hotspotY);
HICON createHICONFromImage (const Image& image, const BOOL isIcon, int hotspotX, int hotspotY)
{
auto nativeBitmap = new WindowsBitmapImage (Image::ARGB, image.getWidth(), image.getHeight(), true);
@@ -1226,7 +1229,7 @@ namespace IconConverters
DeleteObject (mask);
return hi;
}
}
} // namespace IconConverters
//==============================================================================
JUCE_IUNKNOWNCLASS (ITipInvocation, "37c994e7-432b-4834-a2f7-dce1f13b834b")
@@ -4403,6 +4406,7 @@ ComponentPeer* Component::createNewPeer (int styleFlags, void* parentHWND)
return new HWNDComponentPeer (*this, styleFlags, (HWND) parentHWND, false);
}
JUCE_API ComponentPeer* createNonRepaintingEmbeddedWindowsPeer (Component& component, void* parentHWND);
JUCE_API ComponentPeer* createNonRepaintingEmbeddedWindowsPeer (Component& component, void* parentHWND)
{
return new HWNDComponentPeer (component, ComponentPeer::windowIgnoresMouseClicks,
@@ -4442,6 +4446,7 @@ bool KeyPress::isKeyCurrentlyDown (const int keyCode)
}
// (This internal function is used by the plugin client module)
bool offerKeyMessageToJUCEWindow (MSG& m);
bool offerKeyMessageToJUCEWindow (MSG& m) { return HWNDComponentPeer::offerKeyMessageToJUCEWindow (m); }
//==============================================================================


+ 3
- 0
modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp View File

@@ -559,6 +559,7 @@ enum
{
static int trappedErrorCode = 0;
extern "C" int errorTrapHandler (Display*, XErrorEvent* err);
extern "C" int errorTrapHandler (Display*, XErrorEvent* err)
{
trappedErrorCode = err->error_code;
@@ -3213,11 +3214,13 @@ void XWindowSystem::destroyXDisplay()
}
//==============================================================================
::Window juce_createKeyProxyWindow (ComponentPeer* peer);
::Window juce_createKeyProxyWindow (ComponentPeer* peer)
{
return XWindowSystem::getInstance()->createKeyProxy ((::Window) peer->getNativeHandle());
}
void juce_deleteKeyProxyWindow (::Window keyProxy);
void juce_deleteKeyProxyWindow (::Window keyProxy)
{
XWindowSystem::getInstance()->deleteKeyProxy (keyProxy);


+ 1
- 0
modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp View File

@@ -478,6 +478,7 @@ intptr_t ActiveXControlComponent::offerEventToActiveXControlStatic (void* ptr)
return S_FALSE;
}
LRESULT juce_offerEventToActiveXControl (::MSG& msg);
LRESULT juce_offerEventToActiveXControl (::MSG& msg)
{
if (msg.message >= WM_KEYFIRST && msg.message <= WM_KEYLAST)


Loading…
Cancel
Save