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);
|