mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:32:59 +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
|
||||
{
|
||||
SHELLNEW_TYPE Type;
|
||||
LPWSTR szExt;
|
||||
LPWSTR szTarget;
|
||||
LPWSTR szDesc;
|
||||
LPWSTR szIcon;
|
||||
SHELLNEW_ITEM *Next;
|
||||
LPWSTR pwszExt;
|
||||
LPWSTR pwszTarget;
|
||||
LPWSTR pwszDesc;
|
||||
LPWSTR pwszIcon;
|
||||
SHELLNEW_ITEM *pNext;
|
||||
};
|
||||
|
||||
LPWSTR szPath;
|
||||
SHELLNEW_ITEM *s_SnHead;
|
||||
IUnknown* fSite;
|
||||
public:
|
||||
CNewMenu();
|
||||
~CNewMenu();
|
||||
SHELLNEW_ITEM *LoadItem(LPWSTR szKeyName);
|
||||
void UnloadItem(SHELLNEW_ITEM *item);
|
||||
LPWSTR m_wszPath;
|
||||
SHELLNEW_ITEM *m_pShellItems;
|
||||
IUnknown *m_pSite;
|
||||
HMENU m_hSubMenu;
|
||||
|
||||
void CleanupMenu();
|
||||
static BOOL GetKeyDescription(LPCWSTR pwszExt, LPWSTR pwszResult);
|
||||
SHELLNEW_ITEM *LoadItem(LPCWSTR pwszExt);
|
||||
void UnloadItem(SHELLNEW_ITEM *pItem);
|
||||
void UnloadShellItems();
|
||||
BOOL LoadShellNewItems();
|
||||
UINT InsertShellNewItems(HMENU hMenu, UINT idFirst, UINT idMenu);
|
||||
HRESULT DoShellNewCmd(LPCMINVOKECOMMANDINFO lpcmi, IShellView *psv);
|
||||
HRESULT DoMeasureItem(HWND hWnd, MEASUREITEMSTRUCT *lpmis);
|
||||
HRESULT DoDrawItem(HWND hWnd, DRAWITEMSTRUCT *drawItem);
|
||||
void DoNewFolder(IShellView *psv);
|
||||
void CreateNewFolder(IShellView *psv);
|
||||
|
||||
public:
|
||||
CNewMenu();
|
||||
~CNewMenu();
|
||||
|
||||
// IObjectWithSite
|
||||
virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue