mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 05:22:57 +00:00
[SHELL32]
- Fix few leaks and possible buffer overflows in New menu code - Add icons of folder and shortcut to New menu - Display message if file can't be created svn path=/trunk/; revision=54848
This commit is contained in:
parent
658d817a6e
commit
e33649d62d
2 changed files with 386 additions and 420 deletions
File diff suppressed because it is too large
Load diff
|
@ -42,28 +42,31 @@ private:
|
||||||
struct SHELLNEW_ITEM
|
struct SHELLNEW_ITEM
|
||||||
{
|
{
|
||||||
SHELLNEW_TYPE Type;
|
SHELLNEW_TYPE Type;
|
||||||
LPWSTR szExt;
|
LPWSTR pwszExt;
|
||||||
LPWSTR szTarget;
|
LPWSTR pwszTarget;
|
||||||
LPWSTR szDesc;
|
LPWSTR pwszDesc;
|
||||||
LPWSTR szIcon;
|
LPWSTR pwszIcon;
|
||||||
SHELLNEW_ITEM *Next;
|
SHELLNEW_ITEM *pNext;
|
||||||
};
|
};
|
||||||
|
|
||||||
LPWSTR szPath;
|
LPWSTR m_wszPath;
|
||||||
SHELLNEW_ITEM *s_SnHead;
|
SHELLNEW_ITEM *m_pShellItems;
|
||||||
IUnknown* fSite;
|
IUnknown *m_pSite;
|
||||||
public:
|
HMENU m_hSubMenu;
|
||||||
CNewMenu();
|
|
||||||
~CNewMenu();
|
void CleanupMenu();
|
||||||
SHELLNEW_ITEM *LoadItem(LPWSTR szKeyName);
|
static BOOL GetKeyDescription(LPCWSTR pwszExt, LPWSTR pwszResult);
|
||||||
void UnloadItem(SHELLNEW_ITEM *item);
|
SHELLNEW_ITEM *LoadItem(LPCWSTR pwszExt);
|
||||||
|
void UnloadItem(SHELLNEW_ITEM *pItem);
|
||||||
void UnloadShellItems();
|
void UnloadShellItems();
|
||||||
BOOL LoadShellNewItems();
|
BOOL LoadShellNewItems();
|
||||||
UINT InsertShellNewItems(HMENU hMenu, UINT idFirst, UINT idMenu);
|
UINT InsertShellNewItems(HMENU hMenu, UINT idFirst, UINT idMenu);
|
||||||
HRESULT DoShellNewCmd(LPCMINVOKECOMMANDINFO lpcmi, IShellView *psv);
|
HRESULT DoShellNewCmd(LPCMINVOKECOMMANDINFO lpcmi, IShellView *psv);
|
||||||
HRESULT DoMeasureItem(HWND hWnd, MEASUREITEMSTRUCT *lpmis);
|
void CreateNewFolder(IShellView *psv);
|
||||||
HRESULT DoDrawItem(HWND hWnd, DRAWITEMSTRUCT *drawItem);
|
|
||||||
void DoNewFolder(IShellView *psv);
|
public:
|
||||||
|
CNewMenu();
|
||||||
|
~CNewMenu();
|
||||||
|
|
||||||
// IObjectWithSite
|
// IObjectWithSite
|
||||||
virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite);
|
virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue