[pywin32-checkins] pywin32/com/win32comext/shell/src shell.cpp,1.15,1.16 shell_pch.h,1.3,1.4
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: <mha...@us...> - 2004-03-12 08:52:27
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/shell/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23821 Modified Files: shell.cpp shell_pch.h Log Message: Fix a few of the converter functions. Index: shell.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/shell.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** shell.cpp 26 Jan 2004 03:57:20 -0000 1.15 --- shell.cpp 12 Mar 2004 08:33:07 -0000 1.16 *************** *** 24,31 **** #include "PyIShellView.h" #include "PyIShellBrowser.h" - /* It appears this was undocumented, and vanished in MSVC7. */ - #ifdef HAVE_BROWSER_FRAME_OPTIONS #include "PyIBrowserFrameOptions.h" - #endif /* HAVE_BROWSER_FRAME_OPTIONS */ #include "PyIPersist.h" #include "PyIPersistFolder.h" --- 24,28 ---- *************** *** 207,214 **** PyObject *PyWinObject_FromRESOURCESTRING(LPCSTR str) { - if (!str) { - Py_INCREF(Py_None); - return Py_None; - } if (HIWORD(str)==0) return PyInt_FromLong(LOWORD(str)); --- 204,207 ---- *************** *** 216,230 **** } ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO **ppci) { ! *ppci = NULL; ! PyErr_SetString(PyExc_NotImplementedError, "CMINVOKECOMMANDINFO not yet supported"); ! return FALSE; } void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ) { - if (pci) - free(pci); } static PyObject *PyString_FromMaybeNullString(const char *sz) { --- 209,230 ---- } ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO *pci) { ! PyObject *obVerb; ! if (!PyArg_ParseTuple(ob, "iiOzziii", &pci->fMask, &pci->hwnd, ! &obVerb, &pci->lpParameters, &pci->lpDirectory, ! &pci->nShow, &pci->dwHotKey, &pci->hIcon)) ! return FALSE; ! if (!PyInt_Check(obVerb)) { ! PyErr_Format(PyExc_TypeError, "verb must be an int (strings not yet supported)"); ! return FALSE; ! } ! pci->lpVerb = MAKEINTRESOURCE(PyInt_AsLong(obVerb)); ! return TRUE; } void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ) { } + static PyObject *PyString_FromMaybeNullString(const char *sz) { *************** *** 368,372 **** &p->dwFlags, &p->dwReserved, &obName)) return FALSE; ! return COPY_TO_WCHAR(ob, p->wszFolder); } --- 368,372 ---- &p->dwFlags, &p->dwReserved, &obName)) return FALSE; ! return COPY_TO_WCHAR(obName, p->wszFolder); } *************** *** 413,421 **** } ! BOOL PyObject_AsSHCOLUMNDATA(PyObject *, SHCOLUMNDATA *) { ! PyErr_SetString(PyExc_NotImplementedError, ! "Not sure how to handle SHCOLUMNDATA pwszExt, and we don't need this anyway :)"); ! return FALSE; } --- 413,431 ---- } ! BOOL PyObject_AsSHCOLUMNDATA(PyObject *ob, SHCOLUMNDATA *p) { ! PyObject *obExt, *obFile; ! if (!PyArg_ParseTuple(ob, "iiiOO:SHCOLUMNDATA tuple", ! &p->dwFlags, &p->dwFileAttributes, &p->dwReserved, ! &obExt, &obFile)) ! return FALSE; ! if (!PyWinObject_AsWCHAR(obExt, &p->pwszExt, FALSE)) ! return FALSE; ! return COPY_TO_WCHAR(obFile, p->wszFile); ! } ! ! void PyObject_FreeSHCOLUMNDATA(SHCOLUMNDATA *p) ! { ! PyWinObject_FreeWCHAR(p->pwszExt); } *************** *** 983,989 **** PYCOM_INTERFACE_FULL(ShellBrowser), PYCOM_INTERFACE_FULL(EnumIDList), - #ifdef HAVE_BROWSER_FRAME_OPTIONS PYCOM_INTERFACE_FULL(BrowserFrameOptions), - #endif /* HAVE_BROWSER_FRAME_OPTIONS */ PYCOM_INTERFACE_FULL(PersistFolder), PYCOM_INTERFACE_FULL(ColumnProvider), --- 993,997 ---- Index: shell_pch.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/shell_pch.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** shell_pch.h 8 Oct 2003 23:34:41 -0000 1.3 --- shell_pch.h 12 Mar 2004 08:33:07 -0000 1.4 *************** *** 17,21 **** PyObject *PyObject_FromPIDLArray(UINT cidl, LPCITEMIDLIST *pidl); ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO **ppci); void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ); PyObject *PyObject_FromCMINVOKECOMMANDINFO(const CMINVOKECOMMANDINFO *pci); --- 17,21 ---- PyObject *PyObject_FromPIDLArray(UINT cidl, LPCITEMIDLIST *pidl); ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO *ppci); void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ); PyObject *PyObject_FromCMINVOKECOMMANDINFO(const CMINVOKECOMMANDINFO *pci); |