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,
}
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;
}
CMenuSFToolbar::CMenuSFToolbar(CMenuBand * menuBand) :
CMenuToolbarBase(menuBand, TRUE),
- m_shellFolder(NULL)
+ m_shellFolder(NULL),
+ m_idList(NULL),
+ m_hKey(NULL)
{
}
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;
CComPtr<IWinEventHandler> winEventHandler;
HRESULT hResult;
- hResult = fAddressEditBox->QueryInterface(IID_IWinEventHandler, reinterpret_cast<void **>(&winEventHandler));
- if (FAILED(hResult))
- return hResult;
- return winEventHandler->IsWindowOwner(hWnd);
+ if (fAddressEditBox)
+ {
+ hResult = fAddressEditBox->QueryInterface(IID_IWinEventHandler, reinterpret_cast<void **>(&winEventHandler));
+ if (FAILED(hResult))
+ return hResult;
+ return winEventHandler->IsWindowOwner(hWnd);
+ }
+ return S_FALSE;
}
HRESULT STDMETHODCALLTYPE CAddressBand::FileSysChange(long param8, long paramC)