mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 02:21:22 +00:00
[RSHELL]
* Fix some null dereferences. * Fix positioning of submenus of an horizontal menu toolbar. [BROWSEUI] * Fix some null dereferences. CORE-7586 svn path=/branches/shell-experiments/; revision=62492
This commit is contained in:
parent
97ff00f312
commit
b948aa332c
3 changed files with 28 additions and 15 deletions
|
@ -492,9 +492,15 @@ HRESULT CMenuToolbarBase::PopupSubMenu(UINT uItem, UINT index, IShellMenu* child
|
|||
ClientToScreen(m_hwnd, &c);
|
||||
ClientToScreen(m_hwnd, &d);
|
||||
|
||||
POINTL pt = { b.x - 3, a.y - 3 };
|
||||
POINTL pt = { a.x, b.y };
|
||||
RECTL rcl = { c.x, c.y, d.x, d.y };
|
||||
|
||||
if(m_toolbarFlags & SMINIT_VERTICAL)
|
||||
{
|
||||
pt.x = b.x - 3;
|
||||
pt.y = a.y - 3;
|
||||
}
|
||||
|
||||
#if USE_SYSTEM_MENUSITE
|
||||
hr = CoCreateInstance(CLSID_MenuBandSite,
|
||||
NULL,
|
||||
|
@ -830,13 +836,16 @@ CMenuStaticToolbar::CMenuStaticToolbar(CMenuBand *menuBand) :
|
|||
}
|
||||
|
||||
HRESULT CMenuStaticToolbar::GetMenu(
|
||||
HMENU *phmenu,
|
||||
HWND *phwnd,
|
||||
DWORD *pdwFlags)
|
||||
_Out_opt_ HMENU *phmenu,
|
||||
_Out_opt_ HWND *phwnd,
|
||||
_Out_opt_ DWORD *pdwFlags)
|
||||
{
|
||||
*phmenu = m_hmenu;
|
||||
*phwnd = NULL;
|
||||
*pdwFlags = m_dwMenuFlags;
|
||||
if (phmenu)
|
||||
*phmenu = m_hmenu;
|
||||
if (phwnd)
|
||||
*phwnd = NULL;
|
||||
if (pdwFlags)
|
||||
*pdwFlags = m_dwMenuFlags;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
@ -977,7 +986,9 @@ HRESULT CMenuStaticToolbar::InternalHasSubMenu(INT uItem, INT index, DWORD_PTR d
|
|||
|
||||
CMenuSFToolbar::CMenuSFToolbar(CMenuBand * menuBand) :
|
||||
CMenuToolbarBase(menuBand, TRUE),
|
||||
m_shellFolder(NULL)
|
||||
m_shellFolder(NULL),
|
||||
m_idList(NULL),
|
||||
m_hKey(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1049,7 +1060,7 @@ HRESULT CMenuSFToolbar::OnDeletingButton(const NMTOOLBAR * tb)
|
|||
HRESULT CMenuSFToolbar::SetShellFolder(IShellFolder *psf, LPCITEMIDLIST pidlFolder, HKEY hKey, DWORD dwFlags)
|
||||
{
|
||||
m_shellFolder = psf;
|
||||
m_idList = pidlFolder;
|
||||
m_idList = ILClone(pidlFolder);
|
||||
m_hKey = hKey;
|
||||
m_dwMenuFlags = dwFlags;
|
||||
return S_OK;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue