More XDarwin cleanup / dead code removal from Jeremy
This commit is contained in:
parent
148a87ff20
commit
905d672c05
39
configure.ac
39
configure.ac
|
@ -70,11 +70,6 @@ AC_HEADER_DIRENT
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
|
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
|
||||||
|
|
||||||
AC_CHECK_PROG(HAVE_LAUNCHD, [launchd], [yes], [])
|
|
||||||
if test "x$HAVE_LAUNCHD" = xyes; then
|
|
||||||
AC_DEFINE(HAS_LAUNCHD, 1, [launchd support available])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
|
AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
|
||||||
|
@ -464,6 +459,8 @@ AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir
|
||||||
[ APPLE_APPLICATIONS_DIR="${withval}" ].
|
[ APPLE_APPLICATIONS_DIR="${withval}" ].
|
||||||
[ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
|
[ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
|
||||||
|
|
||||||
|
AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
|
||||||
|
|
||||||
AC_ARG_ENABLE(builddocs, AS_HELP_STRING([--enable-builddocs], [Build docs (default: disabled)]),
|
AC_ARG_ENABLE(builddocs, AS_HELP_STRING([--enable-builddocs], [Build docs (default: disabled)]),
|
||||||
[BUILDDOCS=$enableval],
|
[BUILDDOCS=$enableval],
|
||||||
[BUILDDOCS=no])
|
[BUILDDOCS=no])
|
||||||
|
@ -1613,7 +1610,7 @@ if test "X$XQUARTZ" = Xauto; then
|
||||||
LDFLAGS=$save_LDFLAGS])
|
LDFLAGS=$save_LDFLAGS])
|
||||||
|
|
||||||
if test "X$xorg_cv_Carbon_framework" = Xyes; then
|
if test "X$xorg_cv_Carbon_framework" = Xyes; then
|
||||||
AC_DEFINE([DARWIN_WITH_QUARTZ],[1],[Have Quartz])
|
AC_DEFINE([XQUARTZ],[1],[Have Quartz])
|
||||||
XQUARTZ=yes
|
XQUARTZ=yes
|
||||||
else
|
else
|
||||||
XQUARTZ=no
|
XQUARTZ=no
|
||||||
|
@ -1649,7 +1646,7 @@ if test "x$XQUARTZ" = xyes; then
|
||||||
AC_SUBST([DARWIN_LIBS])
|
AC_SUBST([DARWIN_LIBS])
|
||||||
AC_CHECK_LIB([Xplugin],[xp_init],[:])
|
AC_CHECK_LIB([Xplugin],[xp_init],[:])
|
||||||
AC_SUBST([APPLE_APPLICATIONS_DIR])
|
AC_SUBST([APPLE_APPLICATIONS_DIR])
|
||||||
CFLAGS="${CFLAGS} -DHAVE_LAUNCHD -D__DARWIN__ -DDARWIN_WITH_QUARTZ -DROOTLESS_WORKAROUND"
|
CFLAGS="${CFLAGS} -D__DARWIN__ -DROOTLESS_WORKAROUND"
|
||||||
PLIST_VERSION_STRING=$PACKAGE_VERSION
|
PLIST_VERSION_STRING=$PACKAGE_VERSION
|
||||||
AC_SUBST([PLIST_VERSION_STRING])
|
AC_SUBST([PLIST_VERSION_STRING])
|
||||||
PLIST_VENDOR_WEB=$VENDOR_WEB
|
PLIST_VENDOR_WEB=$VENDOR_WEB
|
||||||
|
@ -1671,6 +1668,23 @@ if test "x$XQUARTZ" = xyes; then
|
||||||
DGA=no
|
DGA=no
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "x$LAUNCHD" = xauto; then
|
||||||
|
# Do we want to have this default to on for Xquartz builds only or any time we have launchd (like Xnest or Xvfb on OS-X)
|
||||||
|
#AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no])
|
||||||
|
AC_MSG_CHECKING([whether to support launchd])
|
||||||
|
if test "x$XQUARTZ" = xyes ; then
|
||||||
|
LAUNCHD=yes
|
||||||
|
else
|
||||||
|
LAUNCHD=no
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT([$LAUNCHD])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$LAUNCHD" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
|
||||||
|
fi
|
||||||
|
|
||||||
# Support for objc in autotools is minimal and not documented.
|
# Support for objc in autotools is minimal and not documented.
|
||||||
OBJC='$(CC)'
|
OBJC='$(CC)'
|
||||||
OBJCLD='$(CCLD)'
|
OBJCLD='$(CCLD)'
|
||||||
|
@ -2000,17 +2014,6 @@ hw/xgl/glxext/module/Makefile
|
||||||
hw/xnest/Makefile
|
hw/xnest/Makefile
|
||||||
hw/xwin/Makefile
|
hw/xwin/Makefile
|
||||||
hw/darwin/Makefile
|
hw/darwin/Makefile
|
||||||
hw/darwin/bundle/Makefile
|
|
||||||
hw/darwin/bundle/Dutch.lproj/Makefile
|
|
||||||
hw/darwin/bundle/English.lproj/Makefile
|
|
||||||
hw/darwin/bundle/French.lproj/Makefile
|
|
||||||
hw/darwin/bundle/German.lproj/Makefile
|
|
||||||
hw/darwin/bundle/Japanese.lproj/Makefile
|
|
||||||
hw/darwin/bundle/Portuguese.lproj/Makefile
|
|
||||||
hw/darwin/bundle/Spanish.lproj/Makefile
|
|
||||||
hw/darwin/bundle/Swedish.lproj/Makefile
|
|
||||||
hw/darwin/bundle/ko.lproj/Makefile
|
|
||||||
hw/darwin/iokit/Makefile
|
|
||||||
hw/darwin/quartz/Makefile
|
hw/darwin/quartz/Makefile
|
||||||
hw/darwin/quartz/cr/Makefile
|
hw/darwin/quartz/cr/Makefile
|
||||||
hw/darwin/quartz/fullscreen/Makefile
|
hw/darwin/quartz/fullscreen/Makefile
|
||||||
|
|
|
@ -256,10 +256,15 @@ main(int argc, char *argv[], char *envp[])
|
||||||
PrinterInitGlobals();
|
PrinterInitGlobals();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef XQUARTZ
|
||||||
/* Quartz support on Mac OS X requires that the Cocoa event loop be in
|
/* Quartz support on Mac OS X requires that the Cocoa event loop be in
|
||||||
* the main thread. This allows the X server main to be called again
|
* the main thread. This allows the X server main to be called again
|
||||||
* from another thread. */
|
* from another thread. */
|
||||||
#ifdef DARWIN_WITH_QUARTZ
|
|
||||||
|
/* TODO: Put some runtime conditioning on this, so it doesn't get
|
||||||
|
* executed by Xvfb, Xnest, Xfake, Xephyr, etc when built at the same
|
||||||
|
* time as Xquartz
|
||||||
|
*/
|
||||||
DarwinHandleGUI(argc, argv, envp);
|
DarwinHandleGUI(argc, argv, envp);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
AM_CFLAGS = @XORG_CFLAGS@
|
AM_CFLAGS = @XORG_CFLAGS@
|
||||||
AM_CPPFLAGS = @XORG_INCS@ -I../../miext/rootless -DUSE_NEW_CLUT -DBUILD_DATE=\"$(BUILD_DATE)\" -DHAVE_XORG_CONFIG_H -DXFree86Server
|
AM_CPPFLAGS = @XORG_INCS@ -I../../miext/rootless -DUSE_NEW_CLUT -DBUILD_DATE=\"$(BUILD_DATE)\" -DHAVE_XORG_CONFIG_H -DXFree86Server -DINXQUARTZ
|
||||||
|
|
||||||
SUBDIRS = quartz utils
|
SUBDIRS = quartz utils
|
||||||
|
|
||||||
|
|
|
@ -836,14 +836,11 @@ void ddxUseMsg( void )
|
||||||
ErrorF("-keymap <file> : read the keymapping from a file instead of the kernel.\n");
|
ErrorF("-keymap <file> : read the keymapping from a file instead of the kernel.\n");
|
||||||
ErrorF("-version : show the server version.\n");
|
ErrorF("-version : show the server version.\n");
|
||||||
ErrorF("\n");
|
ErrorF("\n");
|
||||||
#ifdef DARWIN_WITH_QUARTZ
|
ErrorF("Quartz modes (Experimental / In Development):\n");
|
||||||
ErrorF("Quartz modes:\n");
|
|
||||||
ErrorF("-fullscreen : run full screen in parallel with Mac OS X window server.\n");
|
ErrorF("-fullscreen : run full screen in parallel with Mac OS X window server.\n");
|
||||||
ErrorF("-rootless : run rootless inside Mac OS X window server.\n");
|
ErrorF("-rootless : run rootless inside Mac OS X window server.\n");
|
||||||
ErrorF("-quartz : use default Mac OS X window server mode\n");
|
|
||||||
ErrorF("\n");
|
ErrorF("\n");
|
||||||
ErrorF("Options ignored in rootless mode:\n");
|
ErrorF("Options ignored in rootless mode:\n");
|
||||||
#endif
|
|
||||||
ErrorF("-size <height> <width> : use a screen resolution of <height> x <width>.\n");
|
ErrorF("-size <height> <width> : use a screen resolution of <height> x <width>.\n");
|
||||||
ErrorF("-depth <8,15,24> : use this bit depth.\n");
|
ErrorF("-depth <8,15,24> : use this bit depth.\n");
|
||||||
ErrorF("-refresh <rate> : use a monitor refresh rate of <rate> Hz.\n");
|
ErrorF("-refresh <rate> : use a monitor refresh rate of <rate> Hz.\n");
|
||||||
|
|
|
@ -2,7 +2,7 @@ noinst_LIBRARIES = libXQuartz.a
|
||||||
|
|
||||||
AM_CFLAGS = @XORG_CFLAGS@
|
AM_CFLAGS = @XORG_CFLAGS@
|
||||||
AM_OBJCFLAGS = @XORG_CFLAGS@
|
AM_OBJCFLAGS = @XORG_CFLAGS@
|
||||||
AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@ -DXBINDIR=\"${bindir}\" -DINXQUARTZ -DHAS_KL_API -DHAVE_XORG_CONFIG_H
|
AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@ -DXBINDIR=\"${bindir}\" -DHAS_KL_API -DHAVE_XORG_CONFIG_H
|
||||||
|
|
||||||
SUBDIRS = cr fullscreen xpr
|
SUBDIRS = cr fullscreen xpr
|
||||||
|
|
||||||
|
|
|
@ -445,11 +445,7 @@ ProcAppleWMSetWindowMenu(
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef INXQUARTZ
|
|
||||||
X11ApplicationSetWindowMenu (nitems, items, shortcuts);
|
X11ApplicationSetWindowMenu (nitems, items, shortcuts);
|
||||||
#else
|
|
||||||
QuartzSetWindowMenu (nitems, items, shortcuts);
|
|
||||||
#endif
|
|
||||||
free(items);
|
free(items);
|
||||||
free(shortcuts);
|
free(shortcuts);
|
||||||
|
|
||||||
|
@ -464,12 +460,7 @@ ProcAppleWMSetWindowMenuCheck(
|
||||||
REQUEST(xAppleWMSetWindowMenuCheckReq);
|
REQUEST(xAppleWMSetWindowMenuCheckReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xAppleWMSetWindowMenuCheckReq);
|
REQUEST_SIZE_MATCH(xAppleWMSetWindowMenuCheckReq);
|
||||||
#ifdef INXQUARTZ
|
|
||||||
X11ApplicationSetWindowMenuCheck (stuff->index);
|
X11ApplicationSetWindowMenuCheck (stuff->index);
|
||||||
#else
|
|
||||||
QuartzMessageMainThread(kQuartzSetWindowMenuCheck, &stuff->index,
|
|
||||||
sizeof(stuff->index));
|
|
||||||
#endif
|
|
||||||
return (client->noClientException);
|
return (client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -480,11 +471,7 @@ ProcAppleWMSetFrontProcess(
|
||||||
{
|
{
|
||||||
REQUEST_SIZE_MATCH(xAppleWMSetFrontProcessReq);
|
REQUEST_SIZE_MATCH(xAppleWMSetFrontProcessReq);
|
||||||
|
|
||||||
#ifdef INXQUARTZ
|
|
||||||
X11ApplicationSetFrontProcess();
|
X11ApplicationSetFrontProcess();
|
||||||
#else
|
|
||||||
QuartzMessageMainThread(kQuartzSetFrontProcess, NULL, 0);
|
|
||||||
#endif
|
|
||||||
return (client->noClientException);
|
return (client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -526,12 +513,7 @@ ProcAppleWMSetCanQuit(
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xAppleWMSetCanQuitReq);
|
REQUEST_SIZE_MATCH(xAppleWMSetCanQuitReq);
|
||||||
|
|
||||||
#ifdef INXQUARTZ
|
|
||||||
X11ApplicationSetCanQuit(stuff->state);
|
X11ApplicationSetCanQuit(stuff->state);
|
||||||
#else
|
|
||||||
QuartzMessageMainThread(kQuartzSetCanQuit, &stuff->state,
|
|
||||||
sizeof(stuff->state));
|
|
||||||
#endif
|
|
||||||
return (client->noClientException);
|
return (client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -185,12 +185,8 @@ void DarwinModeInitInput(
|
||||||
int argc,
|
int argc,
|
||||||
char **argv )
|
char **argv )
|
||||||
{
|
{
|
||||||
#ifdef INXQUARTZ
|
|
||||||
X11ApplicationSetCanQuit(1);
|
X11ApplicationSetCanQuit(1);
|
||||||
X11ApplicationServerReady();
|
X11ApplicationServerReady();
|
||||||
#else
|
|
||||||
QuartzMessageMainThread(kQuartzServerStarted, NULL, 0);
|
|
||||||
#endif
|
|
||||||
// Do final display mode specific initialization before handling events
|
// Do final display mode specific initialization before handling events
|
||||||
if (quartzProcs->InitInput)
|
if (quartzProcs->InitInput)
|
||||||
quartzProcs->InitInput(argc, argv);
|
quartzProcs->InitInput(argc, argv);
|
||||||
|
@ -354,9 +350,6 @@ static void QuartzHide(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
quartzServerVisible = FALSE;
|
quartzServerVisible = FALSE;
|
||||||
#ifndef INXQUARTZ
|
|
||||||
QuartzMessageMainThread(kQuartzServerHidden, NULL, 0);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -45,63 +45,12 @@
|
||||||
|
|
||||||
#include <Cocoa/Cocoa.h>
|
#include <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
#ifndef INXQUARTZ
|
|
||||||
#import "Preferences.h"
|
|
||||||
#endif
|
|
||||||
#include "pseudoramiX.h"
|
#include "pseudoramiX.h"
|
||||||
|
|
||||||
extern void FatalError(const char *, ...);
|
extern void FatalError(const char *, ...);
|
||||||
extern char *display;
|
extern char *display;
|
||||||
extern int noPanoramiXExtension;
|
extern int noPanoramiXExtension;
|
||||||
|
|
||||||
#ifndef INXQUARTZ
|
|
||||||
/*
|
|
||||||
* QuartzReadPreferences
|
|
||||||
* Read the user preferences from the Cocoa front end.
|
|
||||||
*/
|
|
||||||
void QuartzReadPreferences(void)
|
|
||||||
{
|
|
||||||
char *fileString;
|
|
||||||
|
|
||||||
darwinFakeButtons = [Preferences fakeButtons];
|
|
||||||
darwinFakeMouse2Mask = [Preferences button2Mask];
|
|
||||||
darwinFakeMouse3Mask = [Preferences button3Mask];
|
|
||||||
darwinMouseAccelChange = [Preferences mouseAccelChange];
|
|
||||||
quartzUseSysBeep = [Preferences systemBeep];
|
|
||||||
quartzEnableKeyEquivalents = [Preferences enableKeyEquivalents];
|
|
||||||
|
|
||||||
// quartzRootless has already been set
|
|
||||||
if (quartzRootless) {
|
|
||||||
// Use PseudoramiX instead of Xinerama
|
|
||||||
noPanoramiXExtension = TRUE;
|
|
||||||
noPseudoramiXExtension = ![Preferences xinerama];
|
|
||||||
|
|
||||||
quartzUseAGL = [Preferences useAGL];
|
|
||||||
} else {
|
|
||||||
noPanoramiXExtension = ![Preferences xinerama];
|
|
||||||
noPseudoramiXExtension = TRUE;
|
|
||||||
|
|
||||||
// Full screen can't use AGL for GLX
|
|
||||||
quartzUseAGL = FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ([Preferences useKeymapFile]) {
|
|
||||||
fileString = (char *) [[Preferences keymapFile] lossyCString];
|
|
||||||
darwinKeymapFile = (char *) malloc(strlen(fileString)+1);
|
|
||||||
if (! darwinKeymapFile)
|
|
||||||
FatalError("malloc failed in QuartzReadPreferences()!\n");
|
|
||||||
strcpy(darwinKeymapFile, fileString);
|
|
||||||
}
|
|
||||||
|
|
||||||
display = (char *) malloc(8);
|
|
||||||
if (! display)
|
|
||||||
FatalError("malloc failed in QuartzReadPreferences()!\n");
|
|
||||||
snprintf(display, 8, "%i", [Preferences display]);
|
|
||||||
|
|
||||||
darwinDesiredDepth = [Preferences depth] - 1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* QuartzWriteCocoaPasteboard
|
* QuartzWriteCocoaPasteboard
|
||||||
* Write text to the Mac OS X pasteboard.
|
* Write text to the Mac OS X pasteboard.
|
||||||
|
@ -165,19 +114,6 @@ char *QuartzReadCocoaPasteboard(void)
|
||||||
int QuartzFSUseQDCursor(
|
int QuartzFSUseQDCursor(
|
||||||
int depth) // screen depth
|
int depth) // screen depth
|
||||||
{
|
{
|
||||||
#ifndef INXQUARTZ
|
|
||||||
switch ([Preferences useQDCursor]) {
|
|
||||||
case qdCursor_Always:
|
|
||||||
return TRUE;
|
|
||||||
case qdCursor_Never:
|
|
||||||
return FALSE;
|
|
||||||
case qdCursor_Not8Bit:
|
|
||||||
if (depth > 8)
|
|
||||||
return TRUE;
|
|
||||||
else
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,19 +40,6 @@ char **envpGlobal; // argcGlobal and argvGlobal
|
||||||
// are from dix/globals.c
|
// are from dix/globals.c
|
||||||
|
|
||||||
|
|
||||||
#ifndef INXQUARTZ
|
|
||||||
int NSApplicationMain(int argc, char *argv[]);
|
|
||||||
|
|
||||||
// GLX bundle function pointers
|
|
||||||
void * __DarwinglXMesaProvider = NULL;
|
|
||||||
typedef void (*GlxPushProviderPtr)(void *);
|
|
||||||
GlxPushProviderPtr GlxPushProvider = NULL;
|
|
||||||
typedef void (*GlxExtensionInitPtr)(void);
|
|
||||||
typedef void (*GlxWrapInitVisualsPtr)(miInitVisualsProcPtr *);
|
|
||||||
typedef Bool (*QuartzModeBundleInitPtr)(void);
|
|
||||||
static GlxExtensionInitPtr GlxExtensionInit = NULL;
|
|
||||||
static GlxWrapInitVisualsPtr GlxWrapInitVisuals = NULL;
|
|
||||||
#else
|
|
||||||
void X11ControllerMain(int argc, char *argv[],
|
void X11ControllerMain(int argc, char *argv[],
|
||||||
void (*server_thread) (void *), void *server_arg);
|
void (*server_thread) (void *), void *server_arg);
|
||||||
void GlxExtensionInit(void);
|
void GlxExtensionInit(void);
|
||||||
|
@ -63,7 +50,6 @@ static void server_thread (void *arg) {
|
||||||
|
|
||||||
exit (main (argcGlobal, argvGlobal, envpGlobal));
|
exit (main (argcGlobal, argvGlobal, envpGlobal));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DarwinHandleGUI
|
* DarwinHandleGUI
|
||||||
|
@ -83,9 +69,6 @@ void DarwinHandleGUI(
|
||||||
int fd[2];
|
int fd[2];
|
||||||
|
|
||||||
if (been_here) {
|
if (been_here) {
|
||||||
#ifndef INXQUARTZ
|
|
||||||
QuartzReadPreferences();
|
|
||||||
#endif
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
been_here = TRUE;
|
been_here = TRUE;
|
||||||
|
@ -120,14 +103,10 @@ void DarwinHandleGUI(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef INXQUARTZ
|
|
||||||
main_exit = NSApplicationMain(argc, argv);
|
|
||||||
#else
|
|
||||||
extern void _InitHLTB(void);
|
extern void _InitHLTB(void);
|
||||||
|
|
||||||
_InitHLTB();
|
_InitHLTB();
|
||||||
X11ControllerMain(argc, argv, server_thread, NULL);
|
X11ControllerMain(argc, argv, server_thread, NULL);
|
||||||
#endif
|
|
||||||
exit(main_exit);
|
exit(main_exit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,54 +117,6 @@ void DarwinHandleGUI(
|
||||||
Bool QuartzLoadDisplayBundle(
|
Bool QuartzLoadDisplayBundle(
|
||||||
const char *dpyBundleName)
|
const char *dpyBundleName)
|
||||||
{
|
{
|
||||||
#ifndef INXQUARTZ
|
|
||||||
CFBundleRef mainBundle;
|
|
||||||
CFStringRef bundleName;
|
|
||||||
CFURLRef bundleURL;
|
|
||||||
CFBundleRef dpyBundle;
|
|
||||||
QuartzModeBundleInitPtr bundleInit;
|
|
||||||
|
|
||||||
// Get the main bundle for the application
|
|
||||||
mainBundle = CFBundleGetMainBundle();
|
|
||||||
|
|
||||||
// Make CFString from bundle name
|
|
||||||
bundleName = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault,
|
|
||||||
dpyBundleName,
|
|
||||||
kCFStringEncodingASCII,
|
|
||||||
kCFAllocatorNull);
|
|
||||||
|
|
||||||
// Look for the appropriate bundle in the main bundle
|
|
||||||
bundleURL = CFBundleCopyResourceURL(mainBundle, bundleName,
|
|
||||||
NULL, NULL);
|
|
||||||
if (!bundleURL) {
|
|
||||||
ErrorF("Could not find display mode bundle %s.\n", dpyBundleName);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make a bundle instance using the URLRef
|
|
||||||
dpyBundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
|
|
||||||
|
|
||||||
if (!CFBundleLoadExecutable(dpyBundle)) {
|
|
||||||
ErrorF("Could not load display mode bundle %s.\n", dpyBundleName);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Lookup the bundle initialization function
|
|
||||||
bundleInit = (void *)
|
|
||||||
CFBundleGetFunctionPointerForName(dpyBundle,
|
|
||||||
CFSTR("QuartzModeBundleInit"));
|
|
||||||
if (!bundleInit) {
|
|
||||||
ErrorF("Could not initialize display mode bundle %s.\n",
|
|
||||||
dpyBundleName);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
if (!bundleInit())
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Release the CF objects
|
|
||||||
CFRelease(bundleName);
|
|
||||||
CFRelease(bundleURL);
|
|
||||||
#endif
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -234,20 +165,6 @@ static void LoadGlxBundle(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find the GLX init functions
|
// Find the GLX init functions
|
||||||
|
|
||||||
#ifndef INXQUARTZ
|
|
||||||
__DarwinglXMesaProvider = (void *) CFBundleGetDataPointerForName(
|
|
||||||
glxBundle, CFSTR("__glXMesaProvider"));
|
|
||||||
|
|
||||||
GlxPushProvider = (void *) CFBundleGetFunctionPointerForName(
|
|
||||||
glxBundle, CFSTR("GlxPushProvider"));
|
|
||||||
|
|
||||||
GlxExtensionInit = (void *) CFBundleGetFunctionPointerForName(
|
|
||||||
glxBundle, CFSTR("GlxExtensionInit"));
|
|
||||||
|
|
||||||
GlxWrapInitVisuals = (void *) CFBundleGetFunctionPointerForName(
|
|
||||||
glxBundle, CFSTR("GlxWrapInitVisuals"));
|
|
||||||
#endif
|
|
||||||
if (!GlxExtensionInit || !GlxWrapInitVisuals) {
|
if (!GlxExtensionInit || !GlxWrapInitVisuals) {
|
||||||
FatalError("Could not initialize GLX bundle.");
|
FatalError("Could not initialize GLX bundle.");
|
||||||
}
|
}
|
||||||
|
@ -264,10 +181,6 @@ static void LoadGlxBundle(void)
|
||||||
*/
|
*/
|
||||||
void DarwinGlxPushProvider(void *impl)
|
void DarwinGlxPushProvider(void *impl)
|
||||||
{
|
{
|
||||||
#ifndef INXQUARTZ
|
|
||||||
if (!GlxExtensionInit)
|
|
||||||
LoadGlxBundle();
|
|
||||||
#endif
|
|
||||||
GlxPushProvider(impl);
|
GlxPushProvider(impl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -277,10 +190,6 @@ void DarwinGlxPushProvider(void *impl)
|
||||||
*/
|
*/
|
||||||
void DarwinGlxExtensionInit(void)
|
void DarwinGlxExtensionInit(void)
|
||||||
{
|
{
|
||||||
#ifndef INXQUARTZ
|
|
||||||
if (!GlxExtensionInit)
|
|
||||||
LoadGlxBundle();
|
|
||||||
#endif
|
|
||||||
GlxExtensionInit();
|
GlxExtensionInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,10 +200,8 @@ void DarwinGlxExtensionInit(void)
|
||||||
void DarwinGlxWrapInitVisuals(
|
void DarwinGlxWrapInitVisuals(
|
||||||
miInitVisualsProcPtr *procPtr)
|
miInitVisualsProcPtr *procPtr)
|
||||||
{
|
{
|
||||||
#ifdef INXQUARTZ
|
|
||||||
if (!GlxWrapInitVisuals)
|
if (!GlxWrapInitVisuals)
|
||||||
LoadGlxBundle();
|
LoadGlxBundle();
|
||||||
#endif
|
|
||||||
GlxWrapInitVisuals(procPtr);
|
GlxWrapInitVisuals(procPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -130,6 +130,9 @@
|
||||||
/* Define to 1 if launchd is available. */
|
/* Define to 1 if launchd is available. */
|
||||||
#undef HAVE_LAUNCHD
|
#undef HAVE_LAUNCHD
|
||||||
|
|
||||||
|
/* Have Quartz */
|
||||||
|
#undef XQUARTZ
|
||||||
|
|
||||||
/* Define to 1 if you have the `m' library (-lm). */
|
/* Define to 1 if you have the `m' library (-lm). */
|
||||||
#undef HAVE_LIBM
|
#undef HAVE_LIBM
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user