Index: src/plugin/PluginClass.cpp |
=================================================================== |
--- a/src/plugin/PluginClass.cpp |
+++ b/src/plugin/PluginClass.cpp |
@@ -14,6 +14,7 @@ |
#include "../shared/Utils.h" |
#include "../shared/Dictionary.h" |
#include <thread> |
+#include <array> |
#ifdef DEBUG_HIDE_EL |
DWORD profileTime = 0; |
@@ -415,17 +416,17 @@ |
HKEY pHkey; |
HKEY pHkeySub; |
RegOpenCurrentUser(KEY_QUERY_VALUE, &pHkey); |
- DWORD trueth = 1; |
- DWORD truethSize = sizeof(DWORD); |
+ DWORD truth = 1; |
+ DWORD truthSize = sizeof(truth); |
RegOpenKey(pHkey, L"Software\\Microsoft\\Internet Explorer\\Main", &pHkeySub); |
- LONG res = RegQueryValueEx(pHkeySub, L"StatusBarWeb", NULL, NULL, (BYTE*)&trueth, &truethSize); |
+ LONG res = RegQueryValueEx(pHkeySub, L"StatusBarWeb", NULL, NULL, (BYTE*)&truth, &truthSize); |
RegCloseKey(pHkey); |
if (res != ERROR_SUCCESS) |
{ |
res = RegOpenKey(pHkey, L"Software\\Microsoft\\Internet Explorer\\MINIE", &pHkeySub); |
if (res == ERROR_SUCCESS) |
{ |
- LONG res = RegQueryValueEx(pHkeySub, L"ShowStatusBar", NULL, NULL, (BYTE*)&trueth, &truethSize); |
+ LONG res = RegQueryValueEx(pHkeySub, L"ShowStatusBar", NULL, NULL, (BYTE*)&truth, &truthSize); |
if (res == ERROR_SUCCESS) |
{ |
RegCloseKey(pHkey); |
@@ -433,7 +434,7 @@ |
} |
} |
DEBUG_GENERAL("IsStatusBarEnabled end"); |
- return trueth == 1; |
+ return truth == 1; |
} |
void CPluginClass::ShowStatusBar() |
@@ -478,12 +479,12 @@ |
MB_YESNO); |
if (res == IDYES) |
{ |
- DWORD trueth = 1; |
+ DWORD truth = 1; |
regRes = RegOpenKey(pHkey, L"Software\\Microsoft\\Internet Explorer\\MINIE", &pHkeySub); |
- regRes = RegSetValueEx(pHkeySub, L"ShowStatusBar", 0, REG_DWORD, (BYTE*)&trueth, sizeof(DWORD)); |
+ regRes = RegSetValueEx(pHkeySub, L"ShowStatusBar", 0, REG_DWORD, (BYTE*)&truth, sizeof(truth)); |
regRes = RegCloseKey(pHkeySub); |
regRes = RegOpenKey(pHkey, L"Software\\Microsoft\\Internet Explorer\\Main", &pHkeySub); |
- regRes = RegSetValueEx(pHkeySub, L"StatusBarWeb", 0, REG_DWORD, (BYTE*)&trueth, sizeof(DWORD)); |
+ regRes = RegSetValueEx(pHkeySub, L"StatusBarWeb", 0, REG_DWORD, (BYTE*)&truth, sizeof(truth)); |
regRes = RegCloseKey(pHkeySub); |
hr = browser->put_StatusBar(TRUE); |
if (FAILED(hr)) |
@@ -805,7 +806,7 @@ |
{ |
WNDCLASSEX wcex; |
- wcex.cbSize = sizeof(WNDCLASSEX); |
+ wcex.cbSize = sizeof(wcex); |
wcex.style = 0; |
wcex.lpfnWndProc = (WNDPROC)PaneWindowProc; |
wcex.cbClsExtra = 0; |
@@ -881,7 +882,7 @@ |
CPluginClient* client = CPluginClient::GetInstance(); |
- wchar_t szClassName[MAX_PATH]; |
+ std::array<wchar_t, MAX_PATH> className; |
// Get browser window and url |
HWND hBrowserWnd = GetBrowserHWND(); |
if (!hBrowserWnd) |
@@ -899,14 +900,15 @@ |
HWND uniqueNewTab = NULL; |
while (hTabWnd) |
{ |
- memset(szClassName, 0, MAX_PATH); |
- GetClassName(hTabWnd, szClassName, MAX_PATH); |
+ className[0] = L'\0'; |
+ // GetClassNameW returns the number of characters without '\0' |
+ int classNameLength = GetClassNameW(hTabWnd, className.data(), className.size()); |
Oleksandr
2014/10/17 07:09:07
In other places of the code we use std::wstring in
|
- if (wcscmp(szClassName, L"TabWindowClass") == 0 || wcscmp(szClassName,L"Frame Tab") == 0) |
+ if (classNameLength && (wcscmp(className.data(), L"TabWindowClass") == 0 || wcscmp(className.data(), L"Frame Tab") == 0)) |
{ |
// IE8 support |
HWND hTabWnd2 = hTabWnd; |
- if (wcscmp(szClassName,L"Frame Tab") == 0) |
+ if (wcscmp(className.data(), L"Frame Tab") == 0) |
{ |
hTabWnd2 = ::FindWindowEx(hTabWnd2, NULL, L"TabWindowClass", NULL); |
} |
@@ -953,10 +955,10 @@ |
HWND hWnd = ::GetWindow(hBrowserWnd, GW_CHILD); |
while (hWnd) |
{ |
- memset(szClassName, 0, MAX_PATH); |
- ::GetClassName(hWnd, szClassName, MAX_PATH); |
+ className[0] = L'\0'; |
+ int classNameLength = GetClassNameW(hWnd, className.data(), className.size()); |
- if (wcscmp(szClassName,L"msctls_statusbar32") == 0) |
+ if (classNameLength && wcscmp(className.data(), L"msctls_statusbar32") == 0) |
{ |
hWndStatusBar = hWnd; |
break; |
@@ -1281,13 +1283,11 @@ |
Dictionary* dictionary = Dictionary::GetInstance(); |
- MENUITEMINFOW fmii; |
- memset(&fmii, 0, sizeof(MENUITEMINFO)); |
- fmii.cbSize = sizeof(MENUITEMINFO); |
+ MENUITEMINFOW fmii = {}; |
+ fmii.cbSize = sizeof(fmii); |
- MENUITEMINFOW miiSep; |
- memset(&miiSep, 0, sizeof(MENUITEMINFO)); |
- miiSep.cbSize = sizeof(MENUITEMINFO); |
+ MENUITEMINFOW miiSep = {}; |
+ miiSep.cbSize = sizeof(miiSep); |
miiSep.fMask = MIIM_TYPE | MIIM_FTYPE; |
miiSep.fType = MFT_SEPARATOR; |
@@ -1382,8 +1382,7 @@ |
if (nButton > 0) |
{ |
- TBBUTTON pTBBtn; |
- memset(&pTBBtn, 0, sizeof(TBBUTTON)); |
+ TBBUTTON pTBBtn = {}; |
if (SendMessage(hWndToolBar, TB_GETBUTTON, nButton, (LPARAM)&pTBBtn)) |
{ |
@@ -1805,7 +1804,7 @@ |
HWND CPluginClass::GetTabHWND() const |
{ |
- wchar_t szClassName[MAX_PATH]; |
+ std::array<wchar_t, MAX_PATH> className; |
// Get browser window and url |
HWND hBrowserWnd = GetBrowserHWND(); |
if (!hBrowserWnd) |
@@ -1821,14 +1820,14 @@ |
HWND hTabWnd = ::GetWindow(hBrowserWnd, GW_CHILD); |
while (hTabWnd) |
{ |
- memset(szClassName, 0, MAX_PATH); |
- GetClassName(hTabWnd, szClassName, MAX_PATH); |
+ className[0] = L'\0'; |
+ int classNameLength = GetClassNameW(hTabWnd, className.data(), className.size()); |
- if (wcscmp(szClassName, L"TabWindowClass") == 0 || wcscmp(szClassName, L"Frame Tab") == 0) |
+ if (classNameLength && (wcscmp(className.data(), L"TabWindowClass") == 0 || wcscmp(className.data(), L"Frame Tab") == 0)) |
{ |
// IE8 support |
HWND hTabWnd2 = hTabWnd; |
- if (wcscmp(szClassName, L"Frame Tab") == 0) |
+ if (wcscmp(className.data(), L"Frame Tab") == 0) |
{ |
hTabWnd2 = ::FindWindowEx(hTabWnd2, NULL, L"TabWindowClass", NULL); |
} |