- Reorganized init code
- Fixed serious bug in code to get options from a resource
This commit is contained in:
parent
dc1c64a148
commit
01fbc68896
|
@ -75,4 +75,10 @@
|
|||
#define POPT_DEBUGGING 4
|
||||
#define POPT_KEEPNORM 5
|
||||
#define POPT_KEEPERR 6
|
||||
|
||||
/* From macgetpath.c: */
|
||||
void PyMac_PreferenceOptions Py_PROTO((int *inspect, int *verbose, int *suppress_print,
|
||||
int *unbuffered, int *debugging, int *keep_normal,
|
||||
int *keep_error));
|
||||
|
||||
|
||||
|
|
|
@ -31,9 +31,6 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
extern void PyMac_InitApplication();
|
||||
|
||||
main() {
|
||||
#if defined(USE_GUSI)
|
||||
GUSIDefaultSetup();
|
||||
#endif
|
||||
#if defined(__MWERKS__) && defined(__CFM68K__)
|
||||
printf("Hello, world!\n");
|
||||
#endif
|
||||
|
|
|
@ -295,31 +295,12 @@ event_loop()
|
|||
}
|
||||
}
|
||||
|
||||
/* Initialize the Mac toolbox world */
|
||||
|
||||
static void
|
||||
init_mac_world()
|
||||
{
|
||||
#ifdef THINK_C
|
||||
printf("\n");
|
||||
#else
|
||||
MaxApplZone();
|
||||
InitGraf(&qd.thePort);
|
||||
InitFonts();
|
||||
InitWindows();
|
||||
TEInit();
|
||||
InitDialogs((long)0);
|
||||
InitMenus();
|
||||
InitCursor();
|
||||
#endif
|
||||
}
|
||||
/* Get the argv vector, return argc */
|
||||
|
||||
int
|
||||
PyMac_GetArgv(pargv)
|
||||
char ***pargv;
|
||||
{
|
||||
init_mac_world();
|
||||
|
||||
arg_count = 0;
|
||||
arg_vector[arg_count++] = strdup(get_application_name());
|
||||
|
|
|
@ -43,9 +43,9 @@ getpythonpath()
|
|||
char *curwd;
|
||||
char *p, *endp;
|
||||
int newlen;
|
||||
extern char *PyMac_GetPythonDir();
|
||||
staticforward char *PyMac_GetPythonDir();
|
||||
#ifndef USE_BUILTIN_PATH
|
||||
extern char *PyMac_GetPythonPath();
|
||||
staticforward char *PyMac_GetPythonPath();
|
||||
#endif
|
||||
|
||||
if ( pythonpath ) return pythonpath;
|
||||
|
@ -89,7 +89,7 @@ getpythonpath()
|
|||
/*
|
||||
** Open/create the Python Preferences file, return the handle
|
||||
*/
|
||||
short
|
||||
static short
|
||||
PyMac_OpenPrefFile()
|
||||
{
|
||||
AliasHandle handle;
|
||||
|
@ -142,7 +142,7 @@ PyMac_OpenPrefFile()
|
|||
/*
|
||||
** Return the name of the Python directory
|
||||
*/
|
||||
char *
|
||||
static char *
|
||||
PyMac_GetPythonDir()
|
||||
{
|
||||
static char name[256];
|
||||
|
@ -187,7 +187,7 @@ PyMac_GetPythonDir()
|
|||
}
|
||||
|
||||
#ifndef USE_BUILTIN_PATH
|
||||
char *
|
||||
static char *
|
||||
PyMac_GetPythonPath(dir)
|
||||
char *dir;
|
||||
{
|
||||
|
|
|
@ -68,6 +68,54 @@ static int orig_argc;
|
|||
static int keep_normal;
|
||||
static int keep_error = 1;
|
||||
|
||||
/* Initialize the Mac toolbox world */
|
||||
|
||||
static void
|
||||
init_mac_world()
|
||||
{
|
||||
#ifdef THINK_C
|
||||
printf("\n");
|
||||
#else
|
||||
MaxApplZone();
|
||||
InitGraf(&qd.thePort);
|
||||
InitFonts();
|
||||
InitWindows();
|
||||
TEInit();
|
||||
InitDialogs((long)0);
|
||||
InitMenus();
|
||||
InitCursor();
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Initialization code shared by interpreter and applets */
|
||||
|
||||
static void
|
||||
init_common()
|
||||
{
|
||||
|
||||
/* Initialize toolboxes */
|
||||
init_mac_world();
|
||||
|
||||
#ifdef USE_MAC_SHARED_LIBRARY
|
||||
/* Add the shared library to the stack of resource files */
|
||||
PyMac_AddLibResources();
|
||||
#endif
|
||||
|
||||
#if defined(USE_GUSI)
|
||||
/* Setup GUSI */
|
||||
GUSIDefaultSetup();
|
||||
#endif
|
||||
|
||||
#ifdef USE_SIOUX
|
||||
/* Set various SIOUX flags. Some are changed later based on options */
|
||||
SIOUXSettings.asktosaveonclose = 0;
|
||||
SIOUXSettings.showstatusline = 0;
|
||||
SIOUXSettings.tabspaces = 4;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
#ifdef USE_MAC_APPLET_SUPPORT
|
||||
/* Applet support */
|
||||
|
||||
|
@ -112,14 +160,7 @@ PyMac_InitApplet()
|
|||
char **argv;
|
||||
int err;
|
||||
|
||||
#ifdef USE_MAC_SHARED_LIBRARY
|
||||
PyMac_AddLibResources();
|
||||
#endif
|
||||
#ifdef USE_SIOUX
|
||||
SIOUXSettings.asktosaveonclose = 0;
|
||||
SIOUXSettings.showstatusline = 0;
|
||||
SIOUXSettings.tabspaces = 4;
|
||||
#endif
|
||||
init_common();
|
||||
argc = PyMac_GetArgv(&argv);
|
||||
Py_Initialize();
|
||||
PySys_SetArgv(argc, argv);
|
||||
|
@ -139,14 +180,7 @@ PyMac_InitApplication()
|
|||
int argc;
|
||||
char **argv;
|
||||
|
||||
#ifdef USE_MAC_SHARED_LIBRARY
|
||||
PyMac_AddLibResources();
|
||||
#endif
|
||||
#ifdef USE_SIOUX
|
||||
SIOUXSettings.asktosaveonclose = 0;
|
||||
SIOUXSettings.showstatusline = 0;
|
||||
SIOUXSettings.tabspaces = 4;
|
||||
#endif
|
||||
init_common();
|
||||
argc = PyMac_GetArgv(&argv);
|
||||
if ( argc > 1 ) {
|
||||
/* We're running a script. Attempt to change current directory */
|
||||
|
@ -181,8 +215,8 @@ PyMac_InteractiveOptions(int *inspect, int *verbose, int *suppress_print,
|
|||
/* Default-defaults: */
|
||||
*keep_error = 1;
|
||||
/* Get default settings from our preference file */
|
||||
PyMac_PreferenceOptions(&inspect, &Py_VerboseFlag, &Py_SuppressPrintingFlag,
|
||||
&unbuffered, &Py_DebugFlag, &keep_normal, &keep_error);
|
||||
PyMac_PreferenceOptions(inspect, verbose, suppress_print,
|
||||
unbuffered, debugging, keep_normal, keep_error);
|
||||
/* If option is pressed override these */
|
||||
GetKeys(rmap);
|
||||
map = (unsigned char *)rmap;
|
||||
|
|
Loading…
Reference in New Issue