Update of /cvsroot/pywin32/pywin32/com/win32comext/shell/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8013
Modified Files:
PyIAsyncOperation.cpp PyIColumnProvider.cpp PyIContextMenu.cpp
PyICopyHook.cpp PyIDropTargetHelper.cpp PyIExtractIcon.cpp
PyIShellView.cpp
Log Message:
Have the shell dump all gateway errors to the log.
Index: PyIDropTargetHelper.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIDropTargetHelper.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** PyIDropTargetHelper.cpp 19 Mar 2004 04:33:16 -0000 1.1
--- PyIDropTargetHelper.cpp 26 Jan 2005 22:31:09 -0000 1.2
***************
*** 177,181 ****
PY_GATEWAY_METHOD;
PyObject *obpt = PyObject_FromPOINT(*pt);
! if (obpt==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *obpDataObj;
obpDataObj = PyCom_PyObjectFromIUnknown(pDataObj, IID_IDataObject, TRUE);
--- 177,181 ----
PY_GATEWAY_METHOD;
PyObject *obpt = PyObject_FromPOINT(*pt);
! if (obpt==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("DragEnter");
PyObject *obpDataObj;
obpDataObj = PyCom_PyObjectFromIUnknown(pDataObj, IID_IDataObject, TRUE);
***************
*** 195,199 ****
PY_GATEWAY_METHOD;
PyObject *obpt = PyObject_FromPOINT(*pt);
! if (obpt==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *result;
HRESULT hr=InvokeViaPolicy("DragOver", &result, "Ol", obpt, dwEffect);
--- 195,199 ----
PY_GATEWAY_METHOD;
PyObject *obpt = PyObject_FromPOINT(*pt);
! if (obpt==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("DragOver");
PyObject *result;
HRESULT hr=InvokeViaPolicy("DragOver", &result, "Ol", obpt, dwEffect);
***************
*** 219,223 ****
PY_GATEWAY_METHOD;
PyObject *obpt = PyObject_FromPOINT(*pt);
! if (obpt==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *obpDataObj;
obpDataObj = PyCom_PyObjectFromIUnknown(pDataObj, IID_IDataObject, TRUE);
--- 219,223 ----
PY_GATEWAY_METHOD;
PyObject *obpt = PyObject_FromPOINT(*pt);
! if (obpt==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("Drop");
PyObject *obpDataObj;
obpDataObj = PyCom_PyObjectFromIUnknown(pDataObj, IID_IDataObject, TRUE);
Index: PyIContextMenu.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIContextMenu.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PyIContextMenu.cpp 12 Mar 2004 08:35:10 -0000 1.2
--- PyIContextMenu.cpp 26 Jan 2005 22:31:09 -0000 1.3
***************
*** 153,157 ****
PY_GATEWAY_METHOD;
PyObject *oblpici = PyObject_FromCMINVOKECOMMANDINFO(lpici);
! if (oblpici==NULL) return PyCom_HandlePythonFailureToCOM();
HRESULT hr=InvokeViaPolicy("InvokeCommand", NULL, "(O)", oblpici);
Py_DECREF(oblpici);
--- 153,157 ----
PY_GATEWAY_METHOD;
PyObject *oblpici = PyObject_FromCMINVOKECOMMANDINFO(lpici);
! if (oblpici==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("InvokeCommand");
HRESULT hr=InvokeViaPolicy("InvokeCommand", NULL, "(O)", oblpici);
Py_DECREF(oblpici);
Index: PyIColumnProvider.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIColumnProvider.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PyIColumnProvider.cpp 12 Mar 2004 08:40:23 -0000 1.2
--- PyIColumnProvider.cpp 26 Jan 2005 22:31:09 -0000 1.3
***************
*** 143,147 ****
PY_GATEWAY_METHOD;
PyObject *obpsci = PyObject_FromSHCOLUMNINIT(psci);
! if (obpsci==NULL) return PyCom_HandlePythonFailureToCOM();
HRESULT hr=InvokeViaPolicy("Initialize", NULL, "(O)", obpsci);
Py_DECREF(obpsci);
--- 143,147 ----
PY_GATEWAY_METHOD;
PyObject *obpsci = PyObject_FromSHCOLUMNINIT(psci);
! if (obpsci==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("Initialize");
HRESULT hr=InvokeViaPolicy("Initialize", NULL, "(O)", obpsci);
Py_DECREF(obpsci);
***************
*** 174,180 ****
PY_GATEWAY_METHOD;
PyObject *obpscid = PyObject_FromSHCOLUMNID(pscid);
! if (obpscid==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *obpscd = PyObject_FromSHCOLUMNDATA(pscd);
! if (obpscd==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *result;
HRESULT hr=InvokeViaPolicy("GetItemData", &result, "OO", obpscid, obpscd);
--- 174,180 ----
PY_GATEWAY_METHOD;
PyObject *obpscid = PyObject_FromSHCOLUMNID(pscid);
! if (obpscid==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("GetItemData");
PyObject *obpscd = PyObject_FromSHCOLUMNDATA(pscd);
! if (obpscd==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("GetItemData");
PyObject *result;
HRESULT hr=InvokeViaPolicy("GetItemData", &result, "OO", obpscid, obpscd);
Index: PyIExtractIcon.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIExtractIcon.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** PyIExtractIcon.cpp 9 Apr 2004 11:17:27 -0000 1.3
--- PyIExtractIcon.cpp 26 Jan 2005 22:31:09 -0000 1.4
***************
*** 122,126 ****
else {
PyArg_ParseTuple(result, "ii", phiconLarge, phiconSmall);
! hr = PyCom_HandlePythonFailureToCOM();
}
Py_DECREF(result);
--- 122,126 ----
else {
PyArg_ParseTuple(result, "ii", phiconLarge, phiconSmall);
! hr = MAKE_PYCOM_GATEWAY_FAILURE_CODE("Extract");
}
Py_DECREF(result);
***************
*** 160,164 ****
}
}
! hr = PyCom_HandlePythonFailureToCOM();
}
Py_DECREF(result);
--- 160,164 ----
}
}
! hr = MAKE_PYCOM_GATEWAY_FAILURE_CODE("GetIconLocation");
}
Py_DECREF(result);
Index: PyIShellView.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIShellView.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** PyIShellView.cpp 25 Jan 2005 09:39:05 -0000 1.4
--- PyIShellView.cpp 26 Jan 2005 22:31:09 -0000 1.5
***************
*** 328,332 ****
PY_GATEWAY_METHOD;
PyObject *obpmsg = PyObject_FromMSG(pmsg);
! if (obpmsg==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *result;
HRESULT hr=InvokeViaPolicy("TranslateAccelerator", &result, "(O)", obpmsg);
--- 328,332 ----
PY_GATEWAY_METHOD;
PyObject *obpmsg = PyObject_FromMSG(pmsg);
! if (obpmsg==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("TranslateAccelerator");
PyObject *result;
HRESULT hr=InvokeViaPolicy("TranslateAccelerator", &result, "(O)", obpmsg);
***************
*** 373,379 ****
PY_GATEWAY_METHOD;
PyObject *obpfs = PyObject_FromFOLDERSETTINGS(pfs);
! if (obpfs==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *obrect = PyObject_FromRECT(prcView);
! if (obrect==NULL) return PyCom_HandlePythonFailureToCOM();
PyObject *obpsvPrevious;
PyObject *obpsb;
--- 373,379 ----
PY_GATEWAY_METHOD;
PyObject *obpfs = PyObject_FromFOLDERSETTINGS(pfs);
! if (obpfs==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("CreateViewWindow");
PyObject *obrect = PyObject_FromRECT(prcView);
! if (obrect==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("CreateViewWindow");
PyObject *obpsvPrevious;
PyObject *obpsb;
***************
*** 412,416 ****
PyObject_AsFOLDERSETTINGS(result, pfs);
Py_DECREF(result);
! return PyCom_HandlePythonFailureToCOM(/*pexcepinfo*/);
}
--- 412,416 ----
PyObject_AsFOLDERSETTINGS(result, pfs);
Py_DECREF(result);
! return MAKE_PYCOM_GATEWAY_FAILURE_CODE("GetCurrentInfo");
}
***************
*** 426,430 ****
PyObject *obpfn = Py_None;
Py_INCREF(Py_None);
! if (obpfn==NULL) return PyCom_HandlePythonFailureToCOM();
HRESULT hr=InvokeViaPolicy("AddPropertySheetPages", NULL, "lOl", dwReserved, obpfn, lparam);
Py_DECREF(obpfn);
--- 426,430 ----
PyObject *obpfn = Py_None;
Py_INCREF(Py_None);
! if (obpfn==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("AddPropertySheetPages");
HRESULT hr=InvokeViaPolicy("AddPropertySheetPages", NULL, "lOl", dwReserved, obpfn, lparam);
Py_DECREF(obpfn);
***************
*** 467,475 ****
// Process the Python results, and convert back to the real params
PyObject *obppv;
! if (!PyArg_Parse(result, "O" , &obppv)) return PyCom_HandlePythonFailureToCOM(/*pexcepinfo*/);
BOOL bPythonIsHappy = TRUE;
if (bPythonIsHappy && !PyCom_InterfaceFromPyInstanceOrObject(obppv, riid, ppv, FALSE/* bNoneOK */))
bPythonIsHappy = FALSE;
! if (!bPythonIsHappy) hr = PyCom_HandlePythonFailureToCOM(/*pexcepinfo*/);
Py_DECREF(result);
return hr;
--- 467,475 ----
// Process the Python results, and convert back to the real params
PyObject *obppv;
! if (!PyArg_Parse(result, "O" , &obppv)) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("GetItemObject");
BOOL bPythonIsHappy = TRUE;
if (bPythonIsHappy && !PyCom_InterfaceFromPyInstanceOrObject(obppv, riid, ppv, FALSE/* bNoneOK */))
bPythonIsHappy = FALSE;
! if (!bPythonIsHappy) hr = MAKE_PYCOM_GATEWAY_FAILURE_CODE("GetItemObject");
Py_DECREF(result);
return hr;
Index: PyICopyHook.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyICopyHook.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** PyICopyHook.cpp 7 Oct 2003 05:13:22 -0000 1.1
--- PyICopyHook.cpp 26 Jan 2005 22:31:09 -0000 1.2
***************
*** 104,108 ****
if (!PyInt_Check(result) || !PyLong_Check(result)) {
PyErr_Format(PyExc_TypeError, "CopyCallBack should return an int, not a '%s'", result->ob_type->tp_name);
! hr = PyCom_HandlePythonFailureToCOM(/*pexcepinfo*/);
} else
hr = PyInt_AsLong(result);
--- 104,108 ----
if (!PyInt_Check(result) || !PyLong_Check(result)) {
PyErr_Format(PyExc_TypeError, "CopyCallBack should return an int, not a '%s'", result->ob_type->tp_name);
! hr = MAKE_PYCOM_GATEWAY_FAILURE_CODE("CopyCallBack");
} else
hr = PyInt_AsLong(result);
Index: PyIAsyncOperation.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIAsyncOperation.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** PyIAsyncOperation.cpp 2 Jul 2004 04:11:44 -0000 1.1
--- PyIAsyncOperation.cpp 26 Jan 2005 22:31:09 -0000 1.2
***************
*** 188,192 ****
"Result for GetAsyncMode must be a bool (got '%s')",
result->ob_type->tp_name);
! hr = PyCom_HandlePythonFailureToCOM();
} else
// NOTE: MSDN says "VARIANT_TRUE/VARIANT_FALSE, but fails to work!
--- 188,192 ----
"Result for GetAsyncMode must be a bool (got '%s')",
result->ob_type->tp_name);
! hr = MAKE_PYCOM_GATEWAY_FAILURE_CODE("GetAsyncMode");
} else
// NOTE: MSDN says "VARIANT_TRUE/VARIANT_FALSE, but fails to work!
***************
*** 220,224 ****
"Result for InOperation must be a bool (got '%s')",
result->ob_type->tp_name);
! hr = PyCom_HandlePythonFailureToCOM();
} else
// NOTE: MSDN says "VARIANT_TRUE/VARIANT_FALSE, but fails to work!
--- 220,224 ----
"Result for InOperation must be a bool (got '%s')",
result->ob_type->tp_name);
! hr = MAKE_PYCOM_GATEWAY_FAILURE_CODE("InOperation");
} else
// NOTE: MSDN says "VARIANT_TRUE/VARIANT_FALSE, but fails to work!
|