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 #define WIN32_LEAN_AND_MEAN 1


#if JUCE_MSVC #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 #endif


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


for (int i = numEventsAllocated; i < numEventsNeeded; ++i) 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; numEventsAllocated = numEventsNeeded;
} }
@@ -33498,14 +33499,7 @@ public:
if (events != nullptr) if (events != nullptr)
{ {
for (int i = numEventsAllocated; --i >= 0;) 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(); events.free();
numEventsUsed = 0; numEventsUsed = 0;
@@ -33517,6 +33511,23 @@ public:


private: private:
int numEventsUsed, numEventsAllocated; 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__ #endif // __JUCE_VSTMIDIEVENTLIST_JUCEHEADER__
@@ -246256,23 +246267,6 @@ void MessageManager::broadcastMessage (const String& value)


void MessageManager::doPlatformSpecificInitialisation() 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); OleInitialize (0);


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


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


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


ScopedXLock xlock; ScopedXLock xlock;


#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
usingXShm = false; usingXShm = false;


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


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


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


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


#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (usingXShm) if (usingXShm)
{ {
XShmDetach (display, &segmentInfo); XShmDetach (display, &segmentInfo);
@@ -263867,7 +263861,7 @@ public:
shmctl (segmentInfo.shmid, IPC_RMID, 0); shmctl (segmentInfo.shmid, IPC_RMID, 0);
} }
else else
#endif
#endif
{ {
xImage->data = nullptr; xImage->data = nullptr;
XDestroyImage (xImage); XDestroyImage (xImage);
@@ -264387,9 +264381,9 @@ public:
void toBehind (ComponentPeer* other) void toBehind (ComponentPeer* other)
{ {
LinuxComponentPeer* const otherPeer = dynamic_cast <LinuxComponentPeer*> (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); setMinimised (false);


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


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


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


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


peer->clearMaskedRegion(); peer->clearMaskedRegion();


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


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


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


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


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


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


@@ -265193,9 +265187,9 @@ private:
{ {
int keyMods = 0; 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); 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_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53 #define JUCE_MINOR_VERSION 53
#define JUCE_BUILDNUMBER 86
#define JUCE_BUILDNUMBER 87


/** Current Juce version number. /** Current Juce version number.


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


for (int i = numEventsAllocated; i < numEventsNeeded; ++i) 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; numEventsAllocated = numEventsNeeded;
} }
@@ -46219,14 +46212,7 @@ public:
if (events != nullptr) if (events != nullptr)
{ {
for (int i = numEventsAllocated; --i >= 0;) 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(); events.free();
numEventsUsed = 0; numEventsUsed = 0;
@@ -46238,6 +46224,23 @@ public:


private: private:
int numEventsUsed, numEventsAllocated; 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__ #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); events.realloc (size, 1);
for (int i = numEventsAllocated; i < numEventsNeeded; ++i) 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; numEventsAllocated = numEventsNeeded;
} }
@@ -160,14 +153,7 @@ public:
if (events != nullptr) if (events != nullptr)
{ {
for (int i = numEventsAllocated; --i >= 0;) 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(); events.free();
numEventsUsed = 0; numEventsUsed = 0;
@@ -180,6 +166,23 @@ public:
private: private:
int numEventsUsed, numEventsAllocated; 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_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53 #define JUCE_MINOR_VERSION 53
#define JUCE_BUILDNUMBER 86
#define JUCE_BUILDNUMBER 87
/** Current Juce version number. /** 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 (desiredDepth == 32)
{ {
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (XSHMHelpers::isShmAvailable()) if (XSHMHelpers::isShmAvailable())
{ {
#if JUCE_USE_XRENDER
#if JUCE_USE_XRENDER
if (XRender::isAvailable()) if (XRender::isAvailable())
{ {
XRenderPictFormat* pictFormat = XRender::findPictureFormat(); XRenderPictFormat* pictFormat = XRender::findPictureFormat();
@@ -412,7 +412,7 @@ namespace Visuals
} }
} }
} }
#endif
#endif
if (visual == 0) if (visual == 0)
{ {
visual = findVisualWithDepth (32); visual = findVisualWithDepth (32);
@@ -420,7 +420,7 @@ namespace Visuals
matchedDepth = 32; matchedDepth = 32;
} }
} }
#endif
#endif
} }
if (visual == 0 && desiredDepth >= 24) if (visual == 0 && desiredDepth >= 24)
@@ -459,7 +459,7 @@ public:
ScopedXLock xlock; ScopedXLock xlock;
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
usingXShm = false; usingXShm = false;
if ((imageDepth > 16) && XSHMHelpers::isShmAvailable()) if ((imageDepth > 16) && XSHMHelpers::isShmAvailable())
@@ -504,12 +504,12 @@ public:
} }
if (! usingXShm) if (! usingXShm)
#endif
#endif
{ {
imageDataAllocated.allocate (lineStride * h, format_ == Image::ARGB && clearImage); imageDataAllocated.allocate (lineStride * h, format_ == Image::ARGB && clearImage);
imageData = imageDataAllocated; imageData = imageDataAllocated;
xImage = (XImage*) juce_calloc (sizeof (XImage));
xImage = (XImage*) ::calloc (1, sizeof (XImage));
xImage->width = w; xImage->width = w;
xImage->height = h; xImage->height = h;
@@ -555,7 +555,7 @@ public:
if (gc != None) if (gc != None)
XFreeGC (display, gc); XFreeGC (display, gc);
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (usingXShm) if (usingXShm)
{ {
XShmDetach (display, &segmentInfo); XShmDetach (display, &segmentInfo);
@@ -567,7 +567,7 @@ public:
shmctl (segmentInfo.shmid, IPC_RMID, 0); shmctl (segmentInfo.shmid, IPC_RMID, 0);
} }
else else
#endif
#endif
{ {
xImage->data = nullptr; xImage->data = nullptr;
XDestroyImage (xImage); XDestroyImage (xImage);
@@ -1091,9 +1091,9 @@ public:
void toBehind (ComponentPeer* other) void toBehind (ComponentPeer* other)
{ {
LinuxComponentPeer* const otherPeer = dynamic_cast <LinuxComponentPeer*> (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); setMinimised (false);
@@ -1733,7 +1733,7 @@ private:
: peer (peer_), : peer (peer_),
lastTimeImageUsed (0) lastTimeImageUsed (0)
{ {
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
shmCompletedDrawing = true; shmCompletedDrawing = true;
useARGBImagesForRendering = XSHMHelpers::isShmAvailable(); useARGBImagesForRendering = XSHMHelpers::isShmAvailable();
@@ -1750,15 +1750,15 @@ private:
useARGBImagesForRendering = (testImage->bits_per_pixel == 32); useARGBImagesForRendering = (testImage->bits_per_pixel == 32);
XDestroyImage (testImage); XDestroyImage (testImage);
} }
#endif
#endif
} }
void timerCallback() void timerCallback()
{ {
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (! shmCompletedDrawing) if (! shmCompletedDrawing)
return; return;
#endif
#endif
if (! regionsNeedingRepaint.isEmpty()) if (! regionsNeedingRepaint.isEmpty())
{ {
stopTimer(); stopTimer();
@@ -1781,13 +1781,13 @@ private:
void performAnyPendingRepaintsNow() void performAnyPendingRepaintsNow()
{ {
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
if (! shmCompletedDrawing) if (! shmCompletedDrawing)
{ {
startTimer (repaintTimerPeriod); startTimer (repaintTimerPeriod);
return; return;
} }
#endif
#endif
peer->clearMaskedRegion(); peer->clearMaskedRegion();
@@ -1800,12 +1800,12 @@ private:
if (image.isNull() || image.getWidth() < totalArea.getWidth() if (image.isNull() || image.getWidth() < totalArea.getWidth()
|| image.getHeight() < totalArea.getHeight()) || image.getHeight() < totalArea.getHeight())
{ {
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
image = Image (new XBitmapImage (useARGBImagesForRendering ? Image::ARGB image = Image (new XBitmapImage (useARGBImagesForRendering ? Image::ARGB
: Image::RGB, : Image::RGB,
#else
#else
image = Image (new XBitmapImage (Image::RGB, image = Image (new XBitmapImage (Image::RGB,
#endif
#endif
(totalArea.getWidth() + 31) & ~31, (totalArea.getWidth() + 31) & ~31,
(totalArea.getHeight() + 31) & ~31, (totalArea.getHeight() + 31) & ~31,
false, peer->depth, peer->visual)); false, peer->depth, peer->visual));
@@ -1832,9 +1832,9 @@ private:
for (RectangleList::Iterator i (originalRepaintRegion); i.next();) for (RectangleList::Iterator i (originalRepaintRegion); i.next();)
{ {
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
shmCompletedDrawing = false; shmCompletedDrawing = false;
#endif
#endif
const Rectangle<int>& r = *i.getRectangle(); const Rectangle<int>& r = *i.getRectangle();
static_cast<XBitmapImage*> (image.getSharedImage()) static_cast<XBitmapImage*> (image.getSharedImage())
@@ -1848,9 +1848,9 @@ private:
startTimer (repaintTimerPeriod); startTimer (repaintTimerPeriod);
} }
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
void notifyPaintCompleted() { shmCompletedDrawing = true; } void notifyPaintCompleted() { shmCompletedDrawing = true; }
#endif
#endif
private: private:
enum { repaintTimerPeriod = 1000 / 100 }; enum { repaintTimerPeriod = 1000 / 100 };
@@ -1860,9 +1860,9 @@ private:
uint32 lastTimeImageUsed; uint32 lastTimeImageUsed;
RectangleList regionsNeedingRepaint; RectangleList regionsNeedingRepaint;
#if JUCE_USE_XSHM
#if JUCE_USE_XSHM
bool useARGBImagesForRendering, shmCompletedDrawing; bool useARGBImagesForRendering, shmCompletedDrawing;
#endif
#endif
JUCE_DECLARE_NON_COPYABLE (LinuxRepaintManager); JUCE_DECLARE_NON_COPYABLE (LinuxRepaintManager);
}; };
@@ -1901,9 +1901,9 @@ private:
{ {
int keyMods = 0; 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); 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() 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); OleInitialize (0);
// this name has to be different for each app/dll instance because otherwise // 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 #define WIN32_LEAN_AND_MEAN 1
#if JUCE_MSVC #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 #endif
#define _WIN32_WINNT 0x0500 #define _WIN32_WINNT 0x0500


Loading…
Cancel
Save