OLD | NEW |
1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
2 | 2 |
3 #include "PluginClass.h" | 3 #include "PluginClass.h" |
4 #include "PluginDictionary.h" | 4 #include "PluginDictionary.h" |
5 #include "PluginSettings.h" | 5 #include "PluginSettings.h" |
6 #include "PluginSystem.h" | 6 #include "PluginSystem.h" |
7 #ifdef SUPPORT_FILTER | 7 #ifdef SUPPORT_FILTER |
8 #include "PluginFilter.h" | 8 #include "PluginFilter.h" |
9 #endif | 9 #endif |
10 #include "PluginMimeFilterClient.h" | 10 #include "PluginMimeFilterClient.h" |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 | 271 |
272 void CPluginClass::LaunchUpdater(const CString& strPath) | 272 void CPluginClass::LaunchUpdater(const CString& strPath) |
273 { | 273 { |
274 PROCESS_INFORMATION pi; | 274 PROCESS_INFORMATION pi; |
275 ::ZeroMemory(&pi, sizeof(pi)); | 275 ::ZeroMemory(&pi, sizeof(pi)); |
276 | 276 |
277 STARTUPINFO si; | 277 STARTUPINFO si; |
278 ::ZeroMemory(&si, sizeof(si)); | 278 ::ZeroMemory(&si, sizeof(si)); |
279 si.cb = sizeof(si); | 279 si.cb = sizeof(si); |
280 si.wShowWindow = FALSE; | 280 si.wShowWindow = FALSE; |
281 | 281 » CString cpath; |
282 » CString cpath = _T("\"msiexec.exe\" /i \"") + strPath + _T("\" UPDATEPLU
GIN=\"True\""); | 282 » if (strPath.Find(L".exe") == strPath.GetLength() - 4) |
| 283 » { |
| 284 » » cpath = strPath; |
| 285 » } |
| 286 » else |
| 287 » { |
| 288 » » cpath = _T("\"msiexec.exe\" /i \"") + strPath + _T("\" UPDATEPLU
GIN=\"True\""); |
| 289 » } |
283 | 290 |
284 if (!::CreateProcess(NULL, cpath.GetBuffer(), NULL, NULL, FALSE, CREATE_
BREAKAWAY_FROM_JOB, NULL, NULL, &si, &pi)) | 291 if (!::CreateProcess(NULL, cpath.GetBuffer(), NULL, NULL, FALSE, CREATE_
BREAKAWAY_FROM_JOB, NULL, NULL, &si, &pi)) |
285 { | 292 { |
286 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UPDATER, PLUGIN_E
RROR_UPDATER_CREATE_PROCESS, "Class::Updater - Failed to start process"); | 293 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UPDATER, PLUGIN_E
RROR_UPDATER_CREATE_PROCESS, "Class::Updater - Failed to start process"); |
287 return; | 294 return; |
288 } | 295 } |
289 #ifndef AUTOMATIC_SHUTDOWN | 296 #ifndef AUTOMATIC_SHUTDOWN |
290 else | 297 else |
291 { | 298 { |
292 ::WaitForSingleObject(pi.hProcess, INFINITE); | 299 ::WaitForSingleObject(pi.hProcess, INFINITE); |
(...skipping 22 matching lines...) Expand all Loading... |
315 | 322 |
316 | 323 |
317 | 324 |
318 // This gets called when a new browser window is created (which also triggers th
e | 325 // This gets called when a new browser window is created (which also triggers th
e |
319 // creation of this object). The pointer passed in should be to a IWebBrowser2 | 326 // creation of this object). The pointer passed in should be to a IWebBrowser2 |
320 // interface that represents the browser for the window. | 327 // interface that represents the browser for the window. |
321 // it is also called when a tab is closed, this unknownSite will be null | 328 // it is also called when a tab is closed, this unknownSite will be null |
322 // so we should handle that it is called this way several times during a session | 329 // so we should handle that it is called this way several times during a session |
323 STDMETHODIMP CPluginClass::SetSite(IUnknown* unknownSite) | 330 STDMETHODIMP CPluginClass::SetSite(IUnknown* unknownSite) |
324 { | 331 { |
325 | 332 » |
326 CPluginSettings* settings = CPluginSettings::GetInstance(); | 333 CPluginSettings* settings = CPluginSettings::GetInstance(); |
327 #ifdef AVAST_ABP | 334 #ifdef AVAST_ABP |
328 HKEY hkey; | 335 HKEY hkey; |
329 LONG res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windo
ws\\CurrentVersion\\Explorer\\Browser Helper Objects\\{FFCB3198-32F3-4E8B-9539-4
324694ED664}", NULL, KEY_QUERY_VALUE, &hkey); | 336 LONG res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windo
ws\\CurrentVersion\\Explorer\\Browser Helper Objects\\{FFCB3198-32F3-4E8B-9539-4
324694ED664}", NULL, KEY_QUERY_VALUE, &hkey); |
330 if (hkey != NULL) | 337 if (hkey != NULL) |
331 { | 338 { |
332 RegCloseKey(hkey); | 339 RegCloseKey(hkey); |
333 // Decide what to do when there are 2 versions installed | 340 // Decide what to do when there are 2 versions installed |
334 /* SHANDLE_PTR pBrowserHWnd = NULL; | 341 /* SHANDLE_PTR pBrowserHWnd = NULL; |
335 CComQIPtr<IWebBrowser2> tmpbrwsr; | 342 CComQIPtr<IWebBrowser2> tmpbrwsr; |
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
926 s_hMainThread = handle; | 933 s_hMainThread = handle; |
927 | 934 |
928 ::ResumeThread(handle); | 935 ::ResumeThread(handle); |
929 } | 936 } |
930 | 937 |
931 return true; | 938 return true; |
932 } | 939 } |
933 | 940 |
934 bool CPluginClass::CreateStatusBarPane() | 941 bool CPluginClass::CreateStatusBarPane() |
935 { | 942 { |
| 943 CPluginClient* client = CPluginClient::GetInstance(); |
| 944 |
| 945 if (client->GetIEVersion()< 7) |
| 946 |
| 947 return true; |
| 948 |
936 TCHAR szClassName[MAX_PATH]; | 949 TCHAR szClassName[MAX_PATH]; |
937 | 950 |
938 // Get browser window and url | 951 // Get browser window and url |
939 HWND hBrowserWnd = GetBrowserHWND(); | 952 HWND hBrowserWnd = GetBrowserHWND(); |
940 if (!hBrowserWnd) | 953 if (!hBrowserWnd) |
941 { | 954 { |
942 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_BROWSER
, "Class::CreateStatusBarPane - No status bar") | 955 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_BROWSER
, "Class::CreateStatusBarPane - No status bar") |
943 return false; | 956 return false; |
944 } | 957 } |
945 | 958 |
(...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2167 | 2180 |
2168 | 2181 |
2169 void CPluginClass::UpdateStatusBar() | 2182 void CPluginClass::UpdateStatusBar() |
2170 { | 2183 { |
2171 DEBUG_GENERAL("*** Updating statusbar") | 2184 DEBUG_GENERAL("*** Updating statusbar") |
2172 | 2185 |
2173 if (m_hPaneWnd == NULL) | 2186 if (m_hPaneWnd == NULL) |
2174 { | 2187 { |
2175 CreateStatusBarPane(); | 2188 CreateStatusBarPane(); |
2176 } | 2189 } |
2177 if (!::InvalidateRect(m_hPaneWnd, NULL, FALSE)) | 2190 » if (m_hPaneWnd != NULL) |
2178 { | 2191 { |
2179 » » DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_
UI_INVALIDATE_STATUSBAR, "Class::Invalidate statusbar");» | 2192 » » if (!::InvalidateRect(m_hPaneWnd, NULL, FALSE)) |
| 2193 » » { |
| 2194 » » » DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGI
N_ERROR_UI_INVALIDATE_STATUSBAR, "Class::Invalidate statusbar");» |
| 2195 » » } |
2180 } | 2196 } |
2181 } | 2197 } |
2182 | 2198 |
2183 | 2199 |
2184 void CPluginClass::Unadvice() | 2200 void CPluginClass::Unadvice() |
2185 { | 2201 { |
2186 s_criticalSectionLocal.Lock(); | 2202 s_criticalSectionLocal.Lock(); |
2187 { | 2203 { |
2188 if (m_isAdviced) | 2204 if (m_isAdviced) |
2189 { | 2205 { |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2293 } | 2309 } |
2294 } | 2310 } |
2295 } | 2311 } |
2296 | 2312 |
2297 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); | 2313 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); |
2298 } | 2314 } |
2299 | 2315 |
2300 return hTabWnd; | 2316 return hTabWnd; |
2301 | 2317 |
2302 } | 2318 } |
OLD | NEW |