mirror of
https://github.com/X11Libre/xserver.git
synced 2026-11-01 03:03:58 +00:00
XQuartz: Initial framework for dealing with spaces on OS-X
(cherry picked from commit 9831324998f9d1f05ff944c58c5bf60dcae17355)
This commit is contained in:
parent
4c76607b69
commit
c49e112683
3 changed files with 25 additions and 3 deletions
|
|
@ -63,6 +63,7 @@ static const char *xprOpenGLBundle = "glxCGL.bundle";
|
|||
*/
|
||||
static void eventHandler(unsigned int type, const void *arg,
|
||||
unsigned int arg_size, void *data) {
|
||||
|
||||
switch (type) {
|
||||
case XP_EVENT_DISPLAY_CHANGED:
|
||||
DEBUG_LOG("XP_EVENT_DISPLAY_CHANGED\n");
|
||||
|
|
@ -105,6 +106,13 @@ static void eventHandler(unsigned int type, const void *arg,
|
|||
DRISurfaceNotify(*(xp_surface_id *) arg, kind);
|
||||
}
|
||||
break;
|
||||
case XP_EVENT_SPACE_CHANGED:
|
||||
ErrorF("XP_EVENT_SPACE_CHANGED\n");
|
||||
if(arg_size == sizeof(uint32_t)) {
|
||||
uint32_t space_id = *(uint32_t *)arg;
|
||||
QuartzMessageServerThread(kXDarwinSpaceChanged, 1, space_id);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
ErrorF("Unknown XP_EVENT type (%d) in xprScreen:eventHandler\n", type);
|
||||
}
|
||||
|
|
@ -233,7 +241,8 @@ xprDisplayInit(void)
|
|||
| XP_EVENT_WINDOW_STATE_CHANGED
|
||||
| XP_EVENT_WINDOW_MOVED
|
||||
| XP_EVENT_SURFACE_CHANGED
|
||||
| XP_EVENT_SURFACE_DESTROYED,
|
||||
| XP_EVENT_SURFACE_DESTROYED
|
||||
| XP_EVENT_SPACE_CHANGED,
|
||||
eventHandler, NULL);
|
||||
|
||||
AppleDRIExtensionInit();
|
||||
|
|
|
|||
Loading…
Reference in a new issue