|
From: <md...@us...> - 2011-01-05 13:31:30
|
Revision: 8886
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8886&view=rev
Author: mdehoon
Date: 2011-01-05 13:31:24 +0000 (Wed, 05 Jan 2011)
Log Message:
-----------
Replace MacOS.WMAvailable, as the MacOS module is not available with 64-bit Pythons, and deprecated for Python 3.
Modified Paths:
--------------
branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py
branches/v1_0_maint/src/_macosx.m
Modified: branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py 2011-01-04 22:43:44 UTC (rev 8885)
+++ branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py 2011-01-05 13:31:24 UTC (rev 8886)
@@ -2,7 +2,6 @@
import os
import numpy
-import MacOS
from matplotlib._pylab_helpers import Gcf
from matplotlib.backend_bases import RendererBase, GraphicsContextBase,\
@@ -229,7 +228,7 @@
"""
Create a new figure manager instance
"""
- if not MacOS.WMAvailable():
+ if not _macosx.verify_main_display():
import warnings
warnings.warn("Python is not installed as a framework. The MacOSX backend may not work correctly if Python is not installed as a framework. Please see the Python documentation for more information on installing Python as a framework on Mac OS X")
FigureClass = kwargs.pop('FigureClass', Figure)
Modified: branches/v1_0_maint/src/_macosx.m
===================================================================
--- branches/v1_0_maint/src/_macosx.m 2011-01-04 22:43:44 UTC (rev 8885)
+++ branches/v1_0_maint/src/_macosx.m 2011-01-05 13:31:24 UTC (rev 8886)
@@ -4399,16 +4399,6 @@
return Py_None;
}
-static char show__doc__[] = "Show all the figures and enter the main loop.\nThis function does not return until all Matplotlib windows are closed,\nand is normally not needed in interactive sessions.";
-
-static PyObject*
-show(PyObject* self)
-{
- if(nwin > 0) [NSApp run];
- Py_INCREF(Py_None);
- return Py_None;
-}
-
@implementation Window
- (Window*)initWithContentRect:(NSRect)rect styleMask:(unsigned int)mask backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation withManager: (PyObject*)theManager
{
@@ -5139,11 +5129,32 @@
}
@end
+
+static PyObject*
+show(PyObject* self)
+{
+ if(nwin > 0) [NSApp run];
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject*
+verify_main_display(PyObject* self)
+{
+ CGDirectDisplayID display = CGMainDisplayID();
+ if (display == 0) {
+ PyErr_SetString(PyExc_RuntimeError, "Failed to obtain the display ID of the main display");
+ return NULL;
+ }
+ Py_INCREF(Py_True);
+ return Py_True;
+}
+
static struct PyMethodDef methods[] = {
{"show",
(PyCFunction)show,
METH_NOARGS,
- show__doc__
+ "Show all the figures and enter the main loop.\nThis function does not return until all Matplotlib windows are closed,\nand is normally not needed in interactive sessions."
},
{"choose_save_file",
(PyCFunction)choose_save_file,
@@ -5155,11 +5166,17 @@
METH_VARARGS,
"Sets the active cursor."
},
+ {"verify_main_display",
+ (PyCFunction)verify_main_display,
+ METH_NOARGS,
+ "Verifies if the main display can be found. This function fails if Python is not built as a framework."
+ },
{NULL, NULL, 0, NULL}/* sentinel */
};
void init_macosx(void)
{ PyObject *m;
+
import_array();
if (PyType_Ready(&GraphicsContextType) < 0) return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|