From: Mark H. <mha...@us...> - 2007-05-24 06:01:05
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/axcontrol/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23340/com/win32comext/axcontrol/src Modified Files: PyIViewObject.cpp PyIViewObject.h PyIViewObject2.cpp PyIViewObject2.h Log Message: Another pass at getting things working on x64. This change incorporates most of Sidnei's work on the AMD64 branch, and updates most of the other win32 and win32com modules that haven't already had 64bit love from Roger (thanks guys!). Note this is not complete - among the outstanding issues are fixing 's#' format strings (but most of the tests *do* pass on x64, and the ones which don't fail for 'vista environment' reasons rather than x64 reasons) Index: PyIViewObject.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/axcontrol/src/PyIViewObject.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PyIViewObject.h 1 Sep 1999 23:05:45 -0000 1.1 --- PyIViewObject.h 24 May 2007 06:01:04 -0000 1.2 *************** *** 35,39 **** - // IViewObject STDMETHOD(Draw)( --- 35,38 ---- *************** *** 46,51 **** LPCRECTL lprcBounds, LPCRECTL lprcWBounds, ! BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( DWORD ), ! DWORD dwContinue); STDMETHOD(GetColorSet)( --- 45,50 ---- LPCRECTL lprcBounds, LPCRECTL lprcWBounds, ! BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( ULONG_PTR ), ! ULONG_PTR dwContinue); STDMETHOD(GetColorSet)( Index: PyIViewObject2.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/axcontrol/src/PyIViewObject2.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PyIViewObject2.h 1 Sep 1999 23:05:45 -0000 1.1 --- PyIViewObject2.h 24 May 2007 06:01:04 -0000 1.2 *************** *** 39,44 **** LPCRECTL lprcBounds, LPCRECTL lprcWBounds, ! BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( DWORD ), ! DWORD dwContinue); STDMETHOD(GetColorSet)( --- 39,44 ---- LPCRECTL lprcBounds, LPCRECTL lprcWBounds, ! BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( ULONG_PTR ), ! ULONG_PTR dwContinue); STDMETHOD(GetColorSet)( Index: PyIViewObject2.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/axcontrol/src/PyIViewObject2.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PyIViewObject2.cpp 1 Sep 1999 23:05:45 -0000 1.1 --- PyIViewObject2.cpp 24 May 2007 06:01:04 -0000 1.2 *************** *** 81,86 **** LPCRECTL lprcBounds, LPCRECTL lprcWBounds, ! BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( DWORD ), ! DWORD dwContinue) { return PyGViewObject::Draw(dwDrawAspect, lindex, pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue, dwContinue); } --- 81,86 ---- LPCRECTL lprcBounds, LPCRECTL lprcWBounds, ! BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( ULONG_PTR ), ! ULONG_PTR dwContinue) { return PyGViewObject::Draw(dwDrawAspect, lindex, pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue, dwContinue); } Index: PyIViewObject.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/axcontrol/src/PyIViewObject.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PyIViewObject.cpp 26 Nov 1999 14:15:06 -0000 1.2 --- PyIViewObject.cpp 24 May 2007 06:01:04 -0000 1.3 *************** *** 255,260 **** /* [in] */ LPCRECTL lprcBounds, /* [unique][in] */ LPCRECTL lprcWBounds, ! /* [in] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( DWORD dwContinueArg ), ! /* [in] */ DWORD dwContinue) { PY_GATEWAY_METHOD; --- 255,260 ---- /* [in] */ LPCRECTL lprcBounds, /* [unique][in] */ LPCRECTL lprcWBounds, ! /* [in] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( ULONG_PTR dwContinueArg ), ! /* [in] */ ULONG_PTR dwContinue) { PY_GATEWAY_METHOD; *************** *** 267,278 **** PyObject *oblprcWBounds = Py_BuildValue("llll", lprcWBounds->left,lprcWBounds->top, lprcWBounds->right, lprcWBounds->bottom); if (oblprcWBounds==NULL) return PyCom_HandlePythonFailureToCOM(); ! PyObject *obFuncContinue = PyInt_FromLong((long)pfnContinue); if (obFuncContinue==NULL) return PyCom_HandlePythonFailureToCOM(); ! HRESULT hr=InvokeViaPolicy("Draw", NULL, "iiOOiiOOOi", dwDrawAspect, lindex, obpvAspect, obptd, hdcTargetDev, hdcDraw, oblprcBounds, oblprcWBounds, obFuncContinue, dwContinue); ! Py_DECREF(obpvAspect); ! Py_DECREF(obptd); ! Py_DECREF(oblprcBounds); ! Py_DECREF(oblprcWBounds); ! Py_DECREF(obFuncContinue); return hr; } --- 267,280 ---- PyObject *oblprcWBounds = Py_BuildValue("llll", lprcWBounds->left,lprcWBounds->top, lprcWBounds->right, lprcWBounds->bottom); if (oblprcWBounds==NULL) return PyCom_HandlePythonFailureToCOM(); ! PyObject *obFuncContinue = PyLong_FromVoidPtr(pfnContinue); if (obFuncContinue==NULL) return PyCom_HandlePythonFailureToCOM(); ! PyObject *obContinue = PyWinObject_FromULONG_PTR(dwContinue); ! HRESULT hr=InvokeViaPolicy("Draw", NULL, "iiOOiiOOOO", dwDrawAspect, lindex, obpvAspect, obptd, hdcTargetDev, hdcDraw, oblprcBounds, oblprcWBounds, obFuncContinue, obContinue); ! Py_XDECREF(obpvAspect); ! Py_XDECREF(obptd); ! Py_XDECREF(oblprcBounds); ! Py_XDECREF(oblprcWBounds); ! Py_XDECREF(obFuncContinue); ! Py_XDECREF(obContinue); return hr; } |