mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Fixes for mac screen-saver disabling and XML extended utf-8 character parsing.
This commit is contained in:
parent
18c9aa8e62
commit
640ad3ac7b
7 changed files with 58 additions and 114 deletions
|
|
@ -14963,11 +14963,15 @@ String XmlDocument::getFileContents (const String& filename) const
|
|||
|
||||
juce_wchar XmlDocument::readNextChar() noexcept
|
||||
{
|
||||
if (*input != 0)
|
||||
return *input++;
|
||||
const juce_wchar c = input.getAndAdvance();
|
||||
|
||||
outOfData = true;
|
||||
return 0;
|
||||
if (c == 0)
|
||||
{
|
||||
outOfData = true;
|
||||
--input;
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
int XmlDocument::findNextTokenLength() noexcept
|
||||
|
|
@ -15099,15 +15103,16 @@ void XmlDocument::readQuotedString (String& result)
|
|||
if (c == quote)
|
||||
break;
|
||||
|
||||
--input;
|
||||
|
||||
if (c == '&')
|
||||
{
|
||||
--input;
|
||||
readEntity (result);
|
||||
}
|
||||
else
|
||||
{
|
||||
--input;
|
||||
const String::CharPointerType start (input);
|
||||
int numChars = 0;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
|
|
@ -15115,14 +15120,13 @@ void XmlDocument::readQuotedString (String& result)
|
|||
|
||||
if (character == quote)
|
||||
{
|
||||
result.appendCharPointer (start, (int) (input.getAddress() - start.getAddress()));
|
||||
result.appendCharPointer (start, numChars);
|
||||
++input;
|
||||
|
||||
return;
|
||||
}
|
||||
else if (character == '&')
|
||||
{
|
||||
result.appendCharPointer (start, (int) (input.getAddress() - start.getAddress()));
|
||||
result.appendCharPointer (start, numChars);
|
||||
break;
|
||||
}
|
||||
else if (character == 0)
|
||||
|
|
@ -15133,6 +15137,7 @@ void XmlDocument::readQuotedString (String& result)
|
|||
}
|
||||
|
||||
++input;
|
||||
++numChars;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -44249,6 +44254,8 @@ Desktop::Desktop()
|
|||
|
||||
Desktop::~Desktop()
|
||||
{
|
||||
setScreenSaverEnabled (true);
|
||||
|
||||
jassert (instance == this);
|
||||
instance = nullptr;
|
||||
|
||||
|
|
@ -251328,8 +251335,7 @@ Image::SharedImage* Image::SharedImage::createNativeImage (PixelFormat format, i
|
|||
return createSoftwareImage (format, width, height, clearImage);
|
||||
}
|
||||
|
||||
class ScreenSaverDefeater : public Timer,
|
||||
public DeletedAtShutdown
|
||||
class ScreenSaverDefeater : public Timer
|
||||
{
|
||||
public:
|
||||
ScreenSaverDefeater()
|
||||
|
|
@ -251359,12 +251365,12 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
static ScreenSaverDefeater* screenSaverDefeater = nullptr;
|
||||
static ScopedPointer<ScreenSaverDefeater> screenSaverDefeater;
|
||||
|
||||
void Desktop::setScreenSaverEnabled (const bool isEnabled)
|
||||
{
|
||||
if (isEnabled)
|
||||
deleteAndZero (screenSaverDefeater);
|
||||
screenSaverDefeater = nullptr;
|
||||
else if (screenSaverDefeater == nullptr)
|
||||
screenSaverDefeater = new ScreenSaverDefeater();
|
||||
}
|
||||
|
|
@ -273785,9 +273791,11 @@ Desktop::DisplayOrientation Desktop::getCurrentOrientation() const
|
|||
return upright;
|
||||
}
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
|
||||
class ScreenSaverDefeater : public Timer,
|
||||
public DeletedAtShutdown
|
||||
#ifndef __POWER__ // Some versions of the SDK omit this function..
|
||||
extern "C" { extern OSErr UpdateSystemActivity (UInt8); }
|
||||
#endif
|
||||
|
||||
class ScreenSaverDefeater : public Timer
|
||||
{
|
||||
public:
|
||||
ScreenSaverDefeater()
|
||||
|
|
@ -273799,61 +273807,25 @@ public:
|
|||
void timerCallback()
|
||||
{
|
||||
if (Process::isForegroundProcess())
|
||||
UpdateSystemActivity (UsrActivity);
|
||||
UpdateSystemActivity (1 /*UsrActivity*/);
|
||||
}
|
||||
};
|
||||
|
||||
static ScreenSaverDefeater* screenSaverDefeater = nullptr;
|
||||
static ScopedPointer<ScreenSaverDefeater> screenSaverDefeater;
|
||||
|
||||
void Desktop::setScreenSaverEnabled (const bool isEnabled)
|
||||
{
|
||||
if (isEnabled)
|
||||
deleteAndZero (screenSaverDefeater);
|
||||
screenSaverDefeater = nullptr;
|
||||
else if (screenSaverDefeater == nullptr)
|
||||
screenSaverDefeater = new ScreenSaverDefeater();
|
||||
}
|
||||
|
||||
bool Desktop::isScreenSaverEnabled()
|
||||
{
|
||||
return screenSaverDefeater == 0;
|
||||
return screenSaverDefeater == nullptr;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static IOPMAssertionID screenSaverDisablerID = 0;
|
||||
|
||||
void Desktop::setScreenSaverEnabled (const bool isEnabled)
|
||||
{
|
||||
if (isEnabled)
|
||||
{
|
||||
if (screenSaverDisablerID != 0)
|
||||
{
|
||||
IOPMAssertionRelease (screenSaverDisablerID);
|
||||
screenSaverDisablerID = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (screenSaverDisablerID == 0)
|
||||
{
|
||||
#if defined (MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
|
||||
IOPMAssertionCreateWithName (kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn,
|
||||
CFSTR ("Juce"), &screenSaverDisablerID);
|
||||
#else
|
||||
IOPMAssertionCreate (kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn,
|
||||
&screenSaverDisablerID);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool Desktop::isScreenSaverEnabled()
|
||||
{
|
||||
return screenSaverDisablerID == 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
class DisplaySettingsChangeCallback : public DeletedAtShutdown
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ namespace JuceDummyNamespace {}
|
|||
*/
|
||||
#define JUCE_MAJOR_VERSION 1
|
||||
#define JUCE_MINOR_VERSION 54
|
||||
#define JUCE_BUILDNUMBER 4
|
||||
#define JUCE_BUILDNUMBER 5
|
||||
|
||||
/** Current Juce version number.
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
*/
|
||||
#define JUCE_MAJOR_VERSION 1
|
||||
#define JUCE_MINOR_VERSION 54
|
||||
#define JUCE_BUILDNUMBER 4
|
||||
#define JUCE_BUILDNUMBER 5
|
||||
|
||||
/** Current Juce version number.
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,8 @@ Desktop::Desktop()
|
|||
|
||||
Desktop::~Desktop()
|
||||
{
|
||||
setScreenSaverEnabled (true);
|
||||
|
||||
jassert (instance == this);
|
||||
instance = nullptr;
|
||||
|
||||
|
|
|
|||
|
|
@ -263,9 +263,11 @@ Desktop::DisplayOrientation Desktop::getCurrentOrientation() const
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
|
||||
class ScreenSaverDefeater : public Timer,
|
||||
public DeletedAtShutdown
|
||||
#ifndef __POWER__ // Some versions of the SDK omit this function..
|
||||
extern "C" { extern OSErr UpdateSystemActivity (UInt8); }
|
||||
#endif
|
||||
|
||||
class ScreenSaverDefeater : public Timer
|
||||
{
|
||||
public:
|
||||
ScreenSaverDefeater()
|
||||
|
|
@ -277,61 +279,25 @@ public:
|
|||
void timerCallback()
|
||||
{
|
||||
if (Process::isForegroundProcess())
|
||||
UpdateSystemActivity (UsrActivity);
|
||||
UpdateSystemActivity (1 /*UsrActivity*/);
|
||||
}
|
||||
};
|
||||
|
||||
static ScreenSaverDefeater* screenSaverDefeater = nullptr;
|
||||
static ScopedPointer<ScreenSaverDefeater> screenSaverDefeater;
|
||||
|
||||
void Desktop::setScreenSaverEnabled (const bool isEnabled)
|
||||
{
|
||||
if (isEnabled)
|
||||
deleteAndZero (screenSaverDefeater);
|
||||
screenSaverDefeater = nullptr;
|
||||
else if (screenSaverDefeater == nullptr)
|
||||
screenSaverDefeater = new ScreenSaverDefeater();
|
||||
}
|
||||
|
||||
bool Desktop::isScreenSaverEnabled()
|
||||
{
|
||||
return screenSaverDefeater == 0;
|
||||
return screenSaverDefeater == nullptr;
|
||||
}
|
||||
|
||||
#else
|
||||
//==============================================================================
|
||||
static IOPMAssertionID screenSaverDisablerID = 0;
|
||||
|
||||
void Desktop::setScreenSaverEnabled (const bool isEnabled)
|
||||
{
|
||||
if (isEnabled)
|
||||
{
|
||||
if (screenSaverDisablerID != 0)
|
||||
{
|
||||
IOPMAssertionRelease (screenSaverDisablerID);
|
||||
screenSaverDisablerID = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (screenSaverDisablerID == 0)
|
||||
{
|
||||
#if defined (MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
|
||||
IOPMAssertionCreateWithName (kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn,
|
||||
CFSTR ("Juce"), &screenSaverDisablerID);
|
||||
#else
|
||||
IOPMAssertionCreate (kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn,
|
||||
&screenSaverDisablerID);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool Desktop::isScreenSaverEnabled()
|
||||
{
|
||||
return screenSaverDisablerID == 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
class DisplaySettingsChangeCallback : public DeletedAtShutdown
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2820,8 +2820,7 @@ Image::SharedImage* Image::SharedImage::createNativeImage (PixelFormat format, i
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
class ScreenSaverDefeater : public Timer,
|
||||
public DeletedAtShutdown
|
||||
class ScreenSaverDefeater : public Timer
|
||||
{
|
||||
public:
|
||||
ScreenSaverDefeater()
|
||||
|
|
@ -2851,12 +2850,12 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
static ScreenSaverDefeater* screenSaverDefeater = nullptr;
|
||||
static ScopedPointer<ScreenSaverDefeater> screenSaverDefeater;
|
||||
|
||||
void Desktop::setScreenSaverEnabled (const bool isEnabled)
|
||||
{
|
||||
if (isEnabled)
|
||||
deleteAndZero (screenSaverDefeater);
|
||||
screenSaverDefeater = nullptr;
|
||||
else if (screenSaverDefeater == nullptr)
|
||||
screenSaverDefeater = new ScreenSaverDefeater();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,11 +179,15 @@ String XmlDocument::getFileContents (const String& filename) const
|
|||
|
||||
juce_wchar XmlDocument::readNextChar() noexcept
|
||||
{
|
||||
if (*input != 0)
|
||||
return *input++;
|
||||
const juce_wchar c = input.getAndAdvance();
|
||||
|
||||
outOfData = true;
|
||||
return 0;
|
||||
if (c == 0)
|
||||
{
|
||||
outOfData = true;
|
||||
--input;
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
int XmlDocument::findNextTokenLength() noexcept
|
||||
|
|
@ -315,15 +319,16 @@ void XmlDocument::readQuotedString (String& result)
|
|||
if (c == quote)
|
||||
break;
|
||||
|
||||
--input;
|
||||
|
||||
if (c == '&')
|
||||
{
|
||||
--input;
|
||||
readEntity (result);
|
||||
}
|
||||
else
|
||||
{
|
||||
--input;
|
||||
const String::CharPointerType start (input);
|
||||
int numChars = 0;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
|
|
@ -331,14 +336,13 @@ void XmlDocument::readQuotedString (String& result)
|
|||
|
||||
if (character == quote)
|
||||
{
|
||||
result.appendCharPointer (start, (int) (input.getAddress() - start.getAddress()));
|
||||
result.appendCharPointer (start, numChars);
|
||||
++input;
|
||||
|
||||
return;
|
||||
}
|
||||
else if (character == '&')
|
||||
{
|
||||
result.appendCharPointer (start, (int) (input.getAddress() - start.getAddress()));
|
||||
result.appendCharPointer (start, numChars);
|
||||
break;
|
||||
}
|
||||
else if (character == 0)
|
||||
|
|
@ -349,6 +353,7 @@ void XmlDocument::readQuotedString (String& result)
|
|||
}
|
||||
|
||||
++input;
|
||||
++numChars;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue