Browse Source

Got rid of a couple of stray juce_callocs.

tags/2021-05-28
Julian Storer 14 years ago
parent
commit
23bb9338cf
7 changed files with 137 additions and 146 deletions
  1. +58
    -64
      juce_amalgamated.cpp
  2. +20
    -17
      juce_amalgamated.h
  3. +19
    -16
      src/audio/plugin_host/formats/juce_VSTMidiEventList.h
  4. +1
    -1
      src/core/juce_StandardHeader.h
  5. +29
    -29
      src/native/linux/juce_linux_Windowing.cpp
  6. +0
    -17
      src/native/windows/juce_win32_Messaging.cpp
  7. +10
    -2
      src/native/windows/juce_win32_NativeIncludes.h

+ 58
- 64
juce_amalgamated.cpp View File

@@ -506,8 +506,16 @@
#define WIN32_LEAN_AND_MEAN 1

#if JUCE_MSVC
#pragma warning (push)
#pragma warning (disable : 4100 4201 4514 4312 4995)
#ifndef _CPPRTTI
#error "You're compiling without RTTI enabled! This is needed for a lot of JUCE classes, please update your compiler settings!"
#endif

#ifndef _CPPUNWIND
#error "You're compiling without exceptions enabled! This is needed for a lot of JUCE classes, please update your compiler settings!"
#endif

#pragma warning (push)
#pragma warning (disable : 4100 4201 4514 4312 4995)
#endif

#define _WIN32_WINNT 0x0500
@@ -33480,14 +33488,7 @@ public:
events.realloc (size, 1);

for (int i = numEventsAllocated; i < numEventsNeeded; ++i)
{
VstMidiEvent* const e = (VstMidiEvent*) juce_calloc (jmax ((int) sizeof (VstMidiEvent),
(int) sizeof (VstMidiSysexEvent)));
e->type = kVstMidiType;
e->byteSize = sizeof (VstMidiEvent);

events->events[i] = (VstEvent*) e;
}
events->events[i] = allocateVSTEvent();

numEventsAllocated = numEventsNeeded;
}
@@ -33498,14 +33499,7 @@ public:
if (events != nullptr)
{
for (int i = numEventsAllocated; --i >= 0;)
{
VstMidiEvent* const e = (VstMidiEvent*) (events->events[i]);

if (e->type == kVstSysExType)
delete[] (((VstMidiSysexEvent*) e)->sysexDump);

juce_free (e);
}
freeVSTEvent (events->events[i]);

events.free();
numEventsUsed = 0;
@@ -33517,6 +33511,23 @@ public:

private:
int numEventsUsed, numEventsAllocated;

static VstEvent* allocateVSTEvent()
{
VstEvent* const e = (VstEvent*) ::calloc (1, sizeof (VstMidiEvent) > sizeof (VstMidiSysexEvent) ? sizeof (VstMidiEvent)
: sizeof (VstMidiSysexEvent));
e->type = kVstMidiType;
e->byteSize = sizeof (VstMidiEvent);
return e;
}

static void freeVSTEvent (VstEvent* e)
{
if (e->type == kVstSysExType)
delete[] (((VstMidiSysexEvent*) e)->sysexDump);

::free (e);
}
};

#endif // __JUCE_VSTMIDIEVENTLIST_JUCEHEADER__
@@ -246256,23 +246267,6 @@ void MessageManager::broadcastMessage (const String& value)

void MessageManager::doPlatformSpecificInitialisation()
{
#if JUCE_DEBUG
try // This section is just a safety-net for catching builds without RTTI enabled..
{
MemoryOutputStream mo;
OutputStream* o = &mo;

// Got an exception here? Then TURN ON RTTI in your compiler settings!!
o = dynamic_cast <MemoryOutputStream*> (o);
jassert (o != nullptr);
}
catch (...)
{
// Ended up here? If so, TURN ON RTTI in your compiler settings!!
jassertfalse;
}
#endif

OleInitialize (0);

// this name has to be different for each app/dll instance because otherwise
@@ -263674,10 +263668,10 @@ namespace Visuals

if (desiredDepth == 32)
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (XSHMHelpers::isShmAvailable())
{
#if JUCE_USE_XRENDER
#if JUCE_USE_XRENDER
if (XRender::isAvailable())
{
XRenderPictFormat* pictFormat = XRender::findPictureFormat();
@@ -263713,7 +263707,7 @@ namespace Visuals
}
}
}
#endif
#endif
if (visual == 0)
{
visual = findVisualWithDepth (32);
@@ -263721,7 +263715,7 @@ namespace Visuals
matchedDepth = 32;
}
}
#endif
#endif
}

if (visual == 0 && desiredDepth >= 24)
@@ -263759,7 +263753,7 @@ public:

ScopedXLock xlock;

#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
usingXShm = false;

if ((imageDepth > 16) && XSHMHelpers::isShmAvailable())
@@ -263804,12 +263798,12 @@ public:
}

if (! usingXShm)
#endif
#endif
{
imageDataAllocated.allocate (lineStride * h, format_ == Image::ARGB && clearImage);
imageData = imageDataAllocated;

xImage = (XImage*) juce_calloc (sizeof (XImage));
xImage = (XImage*) ::calloc (1, sizeof (XImage));

xImage->width = w;
xImage->height = h;
@@ -263855,7 +263849,7 @@ public:
if (gc != None)
XFreeGC (display, gc);

#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (usingXShm)
{
XShmDetach (display, &segmentInfo);
@@ -263867,7 +263861,7 @@ public:
shmctl (segmentInfo.shmid, IPC_RMID, 0);
}
else
#endif
#endif
{
xImage->data = nullptr;
XDestroyImage (xImage);
@@ -264387,9 +264381,9 @@ public:
void toBehind (ComponentPeer* other)
{
LinuxComponentPeer* const otherPeer = dynamic_cast <LinuxComponentPeer*> (other);
jassert (otherPeer != 0); // wrong type of window?
jassert (otherPeer != nullptr); // wrong type of window?

if (otherPeer != 0)
if (otherPeer != nullptr)
{
setMinimised (false);

@@ -265025,7 +265019,7 @@ private:
: peer (peer_),
lastTimeImageUsed (0)
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
shmCompletedDrawing = true;

useARGBImagesForRendering = XSHMHelpers::isShmAvailable();
@@ -265042,15 +265036,15 @@ private:
useARGBImagesForRendering = (testImage->bits_per_pixel == 32);
XDestroyImage (testImage);
}
#endif
#endif
}

void timerCallback()
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (! shmCompletedDrawing)
return;
#endif
#endif
if (! regionsNeedingRepaint.isEmpty())
{
stopTimer();
@@ -265073,13 +265067,13 @@ private:

void performAnyPendingRepaintsNow()
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (! shmCompletedDrawing)
{
startTimer (repaintTimerPeriod);
return;
}
#endif
#endif

peer->clearMaskedRegion();

@@ -265092,12 +265086,12 @@ private:
if (image.isNull() || image.getWidth() < totalArea.getWidth()
|| image.getHeight() < totalArea.getHeight())
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
image = Image (new XBitmapImage (useARGBImagesForRendering ? Image::ARGB
: Image::RGB,
#else
#else
image = Image (new XBitmapImage (Image::RGB,
#endif
#endif
(totalArea.getWidth() + 31) & ~31,
(totalArea.getHeight() + 31) & ~31,
false, peer->depth, peer->visual));
@@ -265124,9 +265118,9 @@ private:

for (RectangleList::Iterator i (originalRepaintRegion); i.next();)
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
shmCompletedDrawing = false;
#endif
#endif
const Rectangle<int>& r = *i.getRectangle();

static_cast<XBitmapImage*> (image.getSharedImage())
@@ -265140,9 +265134,9 @@ private:
startTimer (repaintTimerPeriod);
}

#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
void notifyPaintCompleted() { shmCompletedDrawing = true; }
#endif
#endif

private:
enum { repaintTimerPeriod = 1000 / 100 };
@@ -265152,9 +265146,9 @@ private:
uint32 lastTimeImageUsed;
RectangleList regionsNeedingRepaint;

#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
bool useARGBImagesForRendering, shmCompletedDrawing;
#endif
#endif
JUCE_DECLARE_NON_COPYABLE (LinuxRepaintManager);
};

@@ -265193,9 +265187,9 @@ private:
{
int keyMods = 0;

if (status & ShiftMask) keyMods |= ModifierKeys::shiftModifier;
if (status & ControlMask) keyMods |= ModifierKeys::ctrlModifier;
if (status & Keys::AltMask) keyMods |= ModifierKeys::altModifier;
if ((status & ShiftMask) != 0) keyMods |= ModifierKeys::shiftModifier;
if ((status & ControlMask) != 0) keyMods |= ModifierKeys::ctrlModifier;
if ((status & Keys::AltMask) != 0) keyMods |= ModifierKeys::altModifier;

currentModifiers = currentModifiers.withOnlyMouseButtons().withFlags (keyMods);



+ 20
- 17
juce_amalgamated.h View File

@@ -73,7 +73,7 @@ namespace JuceDummyNamespace {}
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
#define JUCE_BUILDNUMBER 86
#define JUCE_BUILDNUMBER 87

/** Current Juce version number.

@@ -46201,14 +46201,7 @@ public:
events.realloc (size, 1);

for (int i = numEventsAllocated; i < numEventsNeeded; ++i)
{
VstMidiEvent* const e = (VstMidiEvent*) juce_calloc (jmax ((int) sizeof (VstMidiEvent),
(int) sizeof (VstMidiSysexEvent)));
e->type = kVstMidiType;
e->byteSize = sizeof (VstMidiEvent);

events->events[i] = (VstEvent*) e;
}
events->events[i] = allocateVSTEvent();

numEventsAllocated = numEventsNeeded;
}
@@ -46219,14 +46212,7 @@ public:
if (events != nullptr)
{
for (int i = numEventsAllocated; --i >= 0;)
{
VstMidiEvent* const e = (VstMidiEvent*) (events->events[i]);

if (e->type == kVstSysExType)
delete[] (((VstMidiSysexEvent*) e)->sysexDump);

juce_free (e);
}
freeVSTEvent (events->events[i]);

events.free();
numEventsUsed = 0;
@@ -46238,6 +46224,23 @@ public:

private:
int numEventsUsed, numEventsAllocated;

static VstEvent* allocateVSTEvent()
{
VstEvent* const e = (VstEvent*) ::calloc (1, sizeof (VstMidiEvent) > sizeof (VstMidiSysexEvent) ? sizeof (VstMidiEvent)
: sizeof (VstMidiSysexEvent));
e->type = kVstMidiType;
e->byteSize = sizeof (VstMidiEvent);
return e;
}

static void freeVSTEvent (VstEvent* e)
{
if (e->type == kVstSysExType)
delete[] (((VstMidiSysexEvent*) e)->sysexDump);

::free (e);
}
};

#endif // __JUCE_VSTMIDIEVENTLIST_JUCEHEADER__


+ 19
- 16
src/audio/plugin_host/formats/juce_VSTMidiEventList.h View File

@@ -142,14 +142,7 @@ public:
events.realloc (size, 1);
for (int i = numEventsAllocated; i < numEventsNeeded; ++i)
{
VstMidiEvent* const e = (VstMidiEvent*) juce_calloc (jmax ((int) sizeof (VstMidiEvent),
(int) sizeof (VstMidiSysexEvent)));
e->type = kVstMidiType;
e->byteSize = sizeof (VstMidiEvent);
events->events[i] = (VstEvent*) e;
}
events->events[i] = allocateVSTEvent();
numEventsAllocated = numEventsNeeded;
}
@@ -160,14 +153,7 @@ public:
if (events != nullptr)
{
for (int i = numEventsAllocated; --i >= 0;)
{
VstMidiEvent* const e = (VstMidiEvent*) (events->events[i]);
if (e->type == kVstSysExType)
delete[] (((VstMidiSysexEvent*) e)->sysexDump);
juce_free (e);
}
freeVSTEvent (events->events[i]);
events.free();
numEventsUsed = 0;
@@ -180,6 +166,23 @@ public:
private:
int numEventsUsed, numEventsAllocated;
static VstEvent* allocateVSTEvent()
{
VstEvent* const e = (VstEvent*) ::calloc (1, sizeof (VstMidiEvent) > sizeof (VstMidiSysexEvent) ? sizeof (VstMidiEvent)
: sizeof (VstMidiSysexEvent));
e->type = kVstMidiType;
e->byteSize = sizeof (VstMidiEvent);
return e;
}
static void freeVSTEvent (VstEvent* e)
{
if (e->type == kVstSysExType)
delete[] (((VstMidiSysexEvent*) e)->sysexDump);
::free (e);
}
};


+ 1
- 1
src/core/juce_StandardHeader.h View File

@@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
#define JUCE_BUILDNUMBER 86
#define JUCE_BUILDNUMBER 87
/** Current Juce version number.


+ 29
- 29
src/native/linux/juce_linux_Windowing.cpp View File

@@ -373,10 +373,10 @@ namespace Visuals
if (desiredDepth == 32)
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (XSHMHelpers::isShmAvailable())
{
#if JUCE_USE_XRENDER
#if JUCE_USE_XRENDER
if (XRender::isAvailable())
{
XRenderPictFormat* pictFormat = XRender::findPictureFormat();
@@ -412,7 +412,7 @@ namespace Visuals
}
}
}
#endif
#endif
if (visual == 0)
{
visual = findVisualWithDepth (32);
@@ -420,7 +420,7 @@ namespace Visuals
matchedDepth = 32;
}
}
#endif
#endif
}
if (visual == 0 && desiredDepth >= 24)
@@ -459,7 +459,7 @@ public:
ScopedXLock xlock;
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
usingXShm = false;
if ((imageDepth > 16) && XSHMHelpers::isShmAvailable())
@@ -504,12 +504,12 @@ public:
}
if (! usingXShm)
#endif
#endif
{
imageDataAllocated.allocate (lineStride * h, format_ == Image::ARGB && clearImage);
imageData = imageDataAllocated;
xImage = (XImage*) juce_calloc (sizeof (XImage));
xImage = (XImage*) ::calloc (1, sizeof (XImage));
xImage->width = w;
xImage->height = h;
@@ -555,7 +555,7 @@ public:
if (gc != None)
XFreeGC (display, gc);
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (usingXShm)
{
XShmDetach (display, &segmentInfo);
@@ -567,7 +567,7 @@ public:
shmctl (segmentInfo.shmid, IPC_RMID, 0);
}
else
#endif
#endif
{
xImage->data = nullptr;
XDestroyImage (xImage);
@@ -1091,9 +1091,9 @@ public:
void toBehind (ComponentPeer* other)
{
LinuxComponentPeer* const otherPeer = dynamic_cast <LinuxComponentPeer*> (other);
jassert (otherPeer != 0); // wrong type of window?
jassert (otherPeer != nullptr); // wrong type of window?
if (otherPeer != 0)
if (otherPeer != nullptr)
{
setMinimised (false);
@@ -1733,7 +1733,7 @@ private:
: peer (peer_),
lastTimeImageUsed (0)
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
shmCompletedDrawing = true;
useARGBImagesForRendering = XSHMHelpers::isShmAvailable();
@@ -1750,15 +1750,15 @@ private:
useARGBImagesForRendering = (testImage->bits_per_pixel == 32);
XDestroyImage (testImage);
}
#endif
#endif
}
void timerCallback()
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (! shmCompletedDrawing)
return;
#endif
#endif
if (! regionsNeedingRepaint.isEmpty())
{
stopTimer();
@@ -1781,13 +1781,13 @@ private:
void performAnyPendingRepaintsNow()
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (! shmCompletedDrawing)
{
startTimer (repaintTimerPeriod);
return;
}
#endif
#endif
peer->clearMaskedRegion();
@@ -1800,12 +1800,12 @@ private:
if (image.isNull() || image.getWidth() < totalArea.getWidth()
|| image.getHeight() < totalArea.getHeight())
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
image = Image (new XBitmapImage (useARGBImagesForRendering ? Image::ARGB
: Image::RGB,
#else
#else
image = Image (new XBitmapImage (Image::RGB,
#endif
#endif
(totalArea.getWidth() + 31) & ~31,
(totalArea.getHeight() + 31) & ~31,
false, peer->depth, peer->visual));
@@ -1832,9 +1832,9 @@ private:
for (RectangleList::Iterator i (originalRepaintRegion); i.next();)
{
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
shmCompletedDrawing = false;
#endif
#endif
const Rectangle<int>& r = *i.getRectangle();
static_cast<XBitmapImage*> (image.getSharedImage())
@@ -1848,9 +1848,9 @@ private:
startTimer (repaintTimerPeriod);
}
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
void notifyPaintCompleted() { shmCompletedDrawing = true; }
#endif
#endif
private:
enum { repaintTimerPeriod = 1000 / 100 };
@@ -1860,9 +1860,9 @@ private:
uint32 lastTimeImageUsed;
RectangleList regionsNeedingRepaint;
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
bool useARGBImagesForRendering, shmCompletedDrawing;
#endif
#endif
JUCE_DECLARE_NON_COPYABLE (LinuxRepaintManager);
};
@@ -1901,9 +1901,9 @@ private:
{
int keyMods = 0;
if (status & ShiftMask) keyMods |= ModifierKeys::shiftModifier;
if (status & ControlMask) keyMods |= ModifierKeys::ctrlModifier;
if (status & Keys::AltMask) keyMods |= ModifierKeys::altModifier;
if ((status & ShiftMask) != 0) keyMods |= ModifierKeys::shiftModifier;
if ((status & ControlMask) != 0) keyMods |= ModifierKeys::ctrlModifier;
if ((status & Keys::AltMask) != 0) keyMods |= ModifierKeys::altModifier;
currentModifiers = currentModifiers.withOnlyMouseButtons().withFlags (keyMods);


+ 0
- 17
src/native/windows/juce_win32_Messaging.cpp View File

@@ -257,23 +257,6 @@ void MessageManager::broadcastMessage (const String& value)
//==============================================================================
void MessageManager::doPlatformSpecificInitialisation()
{
#if JUCE_DEBUG
try // This section is just a safety-net for catching builds without RTTI enabled..
{
MemoryOutputStream mo;
OutputStream* o = &mo;
// Got an exception here? Then TURN ON RTTI in your compiler settings!!
o = dynamic_cast <MemoryOutputStream*> (o);
jassert (o != nullptr);
}
catch (...)
{
// Ended up here? If so, TURN ON RTTI in your compiler settings!!
jassertfalse;
}
#endif
OleInitialize (0);
// this name has to be different for each app/dll instance because otherwise


+ 10
- 2
src/native/windows/juce_win32_NativeIncludes.h View File

@@ -39,8 +39,16 @@
#define WIN32_LEAN_AND_MEAN 1
#if JUCE_MSVC
#pragma warning (push)
#pragma warning (disable : 4100 4201 4514 4312 4995)
#ifndef _CPPRTTI
#error "You're compiling without RTTI enabled! This is needed for a lot of JUCE classes, please update your compiler settings!"
#endif
#ifndef _CPPUNWIND
#error "You're compiling without exceptions enabled! This is needed for a lot of JUCE classes, please update your compiler settings!"
#endif
#pragma warning (push)
#pragma warning (disable : 4100 4201 4514 4312 4995)
#endif
#define _WIN32_WINNT 0x0500


Loading…
Cancel
Save