Merge remote branch 'jeremyhu/master'
This commit is contained in:
commit
c4a7a5917a
|
@ -792,7 +792,7 @@ xf86SetRootClip (ScreenPtr pScreen, int enable)
|
|||
WindowPtr pChild;
|
||||
Bool WasViewable = (Bool)(pWin->viewable);
|
||||
Bool anyMarked = TRUE;
|
||||
RegionPtr pOldClip = NULL, bsExposed;
|
||||
RegionPtr pOldClip = NULL;
|
||||
WindowPtr pLayerWin;
|
||||
BoxRec box;
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ extern int noPanoramiXExtension;
|
|||
#endif
|
||||
|
||||
static char __crashreporter_info_buff__[4096] = {0};
|
||||
static const char *__crashreporter_info__ = &__crashreporter_info_buff__[0];
|
||||
static const char *__crashreporter_info__ __attribute__((__used__)) = &__crashreporter_info_buff__[0];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
|
||||
// This is actually a toolchain requirement, but I'm not sure the correct check,
|
||||
// but it should be fine to just only include it for Leopard and later. This line
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <IOKit/pwr_mgt/IOPMLib.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include <rootlessCommon.h>
|
||||
#include <Xplugin.h>
|
||||
|
@ -246,6 +247,40 @@ void QuartzUpdateScreens(void) {
|
|||
quartzProcs->UpdateScreen(pScreen);
|
||||
}
|
||||
|
||||
static void pokeActivityCallback(CFRunLoopTimerRef timer, void *info) {
|
||||
UpdateSystemActivity(OverallAct);
|
||||
}
|
||||
|
||||
static void QuartzScreenSaver(int state) {
|
||||
static CFRunLoopTimerRef pokeActivityTimer = NULL;
|
||||
static CFRunLoopTimerContext pokeActivityContext = { 0, NULL, NULL, NULL, NULL };
|
||||
static pthread_mutex_t pokeActivityMutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
pthread_mutex_lock(&pokeActivityMutex);
|
||||
|
||||
if(state) {
|
||||
if(pokeActivityTimer == NULL)
|
||||
goto QuartzScreenSaverEnd;
|
||||
|
||||
CFRunLoopTimerInvalidate(pokeActivityTimer);
|
||||
CFRelease(pokeActivityTimer);
|
||||
pokeActivityTimer = NULL;
|
||||
} else {
|
||||
if(pokeActivityTimer != NULL)
|
||||
goto QuartzScreenSaverEnd;
|
||||
|
||||
pokeActivityTimer = CFRunLoopTimerCreate(NULL, CFAbsoluteTimeGetCurrent(), 30, 0, 0, pokeActivityCallback, &pokeActivityContext);
|
||||
if(pokeActivityTimer == NULL) {
|
||||
ErrorF("Unable to create pokeActivityTimer.\n");
|
||||
goto QuartzScreenSaverEnd;
|
||||
}
|
||||
|
||||
CFRunLoopAddTimer(CFRunLoopGetMain(), pokeActivityTimer, kCFRunLoopCommonModes);
|
||||
}
|
||||
QuartzScreenSaverEnd:
|
||||
pthread_mutex_unlock(&pokeActivityMutex);
|
||||
}
|
||||
|
||||
void QuartzShowFullscreen(int state) {
|
||||
int i;
|
||||
|
||||
|
@ -256,6 +291,8 @@ void QuartzShowFullscreen(int state) {
|
|||
return;
|
||||
}
|
||||
|
||||
QuartzScreenSaver(!state);
|
||||
|
||||
if(XQuartzFullscreenVisible == state)
|
||||
return;
|
||||
|
||||
|
|
|
@ -438,18 +438,16 @@ static Bool QuartzRandRSetConfig (ScreenPtr pScreen,
|
|||
static Bool _QuartzRandRUpdateFakeModes (ScreenPtr pScreen) {
|
||||
QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
|
||||
|
||||
if (pQuartzScreen->displayCount == 1) {
|
||||
if(pQuartzScreen->fullscreenMode.ref)
|
||||
CFRelease(pQuartzScreen->fullscreenMode.ref);
|
||||
if(pQuartzScreen->currentMode.ref)
|
||||
CFRelease(pQuartzScreen->currentMode.ref);
|
||||
if(pQuartzScreen->fullscreenMode.ref)
|
||||
CFRelease(pQuartzScreen->fullscreenMode.ref);
|
||||
if(pQuartzScreen->currentMode.ref)
|
||||
CFRelease(pQuartzScreen->currentMode.ref);
|
||||
|
||||
if (!QuartzRandRCopyCurrentModeInfo(pQuartzScreen->displayIDs[0],
|
||||
&pQuartzScreen->fullscreenMode))
|
||||
return FALSE;
|
||||
if (!QuartzRandRCopyCurrentModeInfo(pQuartzScreen->displayIDs[0],
|
||||
&pQuartzScreen->fullscreenMode))
|
||||
return FALSE;
|
||||
|
||||
CFRetain(pQuartzScreen->fullscreenMode.ref); /* This extra retain is for currentMode's copy */
|
||||
} else {
|
||||
if (pQuartzScreen->displayCount > 1) {
|
||||
pQuartzScreen->fullscreenMode.width = pScreen->width;
|
||||
pQuartzScreen->fullscreenMode.height = pScreen->height;
|
||||
if(XQuartzIsRootless)
|
||||
|
@ -467,6 +465,11 @@ static Bool _QuartzRandRUpdateFakeModes (ScreenPtr pScreen) {
|
|||
} else {
|
||||
pQuartzScreen->currentMode = pQuartzScreen->fullscreenMode;
|
||||
}
|
||||
|
||||
/* This extra retain is for currentMode's copy.
|
||||
* fullscreen and rootless share a retain.
|
||||
*/
|
||||
CFRetain(pQuartzScreen->currentMode.ref);
|
||||
|
||||
DEBUG_LOG("rootlessMode: %d x %d\n", (int)pQuartzScreen->rootlessMode.width, (int)pQuartzScreen->rootlessMode.height);
|
||||
DEBUG_LOG("fullscreenMode: %d x %d\n", (int)pQuartzScreen->fullscreenMode.width, (int)pQuartzScreen->fullscreenMode.height);
|
||||
|
|
2
os/log.c
2
os/log.c
|
@ -121,7 +121,7 @@ static Bool needBuffer = TRUE;
|
|||
#include <AvailabilityMacros.h>
|
||||
|
||||
static char __crashreporter_info_buff__[4096] = {0};
|
||||
static const char *__crashreporter_info__ = &__crashreporter_info_buff__[0];
|
||||
static const char *__crashreporter_info__ __attribute__((__used__)) = &__crashreporter_info_buff__[0];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
|
||||
// This is actually a toolchain requirement, but I'm not sure the correct check,
|
||||
// but it should be fine to just only include it for Leopard and later. This line
|
||||
|
|
Loading…
Reference in New Issue
Block a user