diff --git a/build/macosx/platform_specific_code/juce_mac_Windowing.cpp b/build/macosx/platform_specific_code/juce_mac_Windowing.cpp index f0403607a0..a5924027c7 100644 --- a/build/macosx/platform_specific_code/juce_mac_Windowing.cpp +++ b/build/macosx/platform_specific_code/juce_mac_Windowing.cpp @@ -2274,7 +2274,8 @@ public: void timerCallback() { - UpdateSystemActivity (UsrActivity); + if (Process::isForegroundProcess()) + UpdateSystemActivity (UsrActivity); } }; diff --git a/docs/JUCE changelist.txt b/docs/JUCE changelist.txt index 0bec0d42d9..e19319b77c 100644 --- a/docs/JUCE changelist.txt +++ b/docs/JUCE changelist.txt @@ -6,6 +6,7 @@ ============================================================================== Changelist for version 1.44 +- added a method Desktop::setScreenSaverEnabled(), which lets you prevent the screen-saver from being activated - handy if your app is doing some kind of presentation. (only implemented on windows/mac - anyone know how to do this on linux?) - new Mac-only class: AppleRemoteDevice, which lets you grab and listen for events from your Apple remote control. (Only works if you build for 10.3 or above). - the default Mac build is now 10.3 compatible by default. (If anyone still needs 10.2 ppc compatibility, it still works, you just need to change the settings in the juce.xconfig file) - change to the keyPressed() and keyStateChanged() callbacks in Component and KeyListener. These used to be void, but they now return a bool to indicate whether the key event was needed or not. Any existing code you've got will break in the compiler, so just change it to return true if the key was used, or false to allow the event to be passed up to the next component in the chain. (This change is a better architecture than before, and was also needed so that plugins can allow unused key events to be passed on to the host application) diff --git a/src/juce_appframework/gui/components/juce_Desktop.h b/src/juce_appframework/gui/components/juce_Desktop.h index 2fd106f97a..1e86b2c35d 100644 --- a/src/juce_appframework/gui/components/juce_Desktop.h +++ b/src/juce_appframework/gui/components/juce_Desktop.h @@ -130,7 +130,12 @@ public: Handy if you're running some sort of presentation app where having a screensaver appear would be annoying. - Pass false to disable the screensaver, and true to re-enable it. + Pass false to disable the screensaver, and true to re-enable it. (Note that this + won't enable a screensaver unless the user has actually set one up). + + The disablement will only happen while the Juce application is the foreground + process - if another task is running in front of it, then the screensaver will + be unaffected. @see isScreenSaverEnabled */