| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
| 2 | 2 |
| 3 #include "PluginClass.h" | 3 #include "PluginClass.h" |
| 4 #include "PluginSettings.h" | 4 #include "PluginSettings.h" |
| 5 #include "PluginSystem.h" | 5 #include "PluginSystem.h" |
| 6 #ifdef SUPPORT_FILTER | 6 #ifdef SUPPORT_FILTER |
| 7 #include "PluginFilter.h" | 7 #include "PluginFilter.h" |
| 8 #endif | 8 #endif |
| 9 #include "PluginMimeFilterClient.h" | 9 #include "PluginMimeFilterClient.h" |
| 10 #include "PluginClient.h" | 10 #include "PluginClient.h" |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 252 m_webBrowser2 = unknownSite; | 252 m_webBrowser2 = unknownSite; |
| 253 } | 253 } |
| 254 s_criticalSectionBrowser.Unlock(); | 254 s_criticalSectionBrowser.Unlock(); |
| 255 | 255 |
| 256 //register the mimefilter | 256 //register the mimefilter |
| 257 //and only mimefilter | 257 //and only mimefilter |
| 258 //on some few computers the mimefilter does not get properly registered when it is done on another thread | 258 //on some few computers the mimefilter does not get properly registered when it is done on another thread |
| 259 | 259 |
| 260 s_criticalSectionLocal.Lock(); | 260 s_criticalSectionLocal.Lock(); |
| 261 { | 261 { |
| 262 if (settings->GetPluginEnabled()) | 262 // We always register on startup and then check if we should do that in a seperate thread |
|
Felix Dahlke
2013/08/07 09:34:49
I didn't immediately get this, how about:
// Alwa
| |
| 263 { | 263 s_mimeFilter = CPluginClientFactory::GetMimeFilterClientInstance(); |
| 264 s_mimeFilter = CPluginClientFactory::GetMimeFilterClientInstance(); | |
| 265 } | |
| 266 | |
| 267 s_asyncWebBrowser2 = unknownSite; | 264 s_asyncWebBrowser2 = unknownSite; |
| 268 s_instances.Add(this); | 265 s_instances.Add(this); |
| 269 } | 266 } |
| 270 s_criticalSectionLocal.Unlock(); | 267 s_criticalSectionLocal.Unlock(); |
| 271 | 268 |
| 272 try | 269 try |
| 273 { | 270 { |
| 274 // Check if loaded as BHO | 271 // Check if loaded as BHO |
| 275 if (GetBrowser()) | 272 if (GetBrowser()) |
| 276 { | 273 { |
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 725 | 722 |
| 726 // do nothing | 723 // do nothing |
| 727 break; | 724 break; |
| 728 } | 725 } |
| 729 | 726 |
| 730 return VARIANT_TRUE; | 727 return VARIANT_TRUE; |
| 731 } | 728 } |
| 732 | 729 |
| 733 bool CPluginClass::InitObject(bool bBHO) | 730 bool CPluginClass::InitObject(bool bBHO) |
| 734 { | 731 { |
| 732 CPluginSettings* settings = CPluginSettings::GetInstance(); | |
| 733 | |
| 734 // Unregister, if disabled | |
|
Felix Dahlke
2013/08/07 09:34:49
This comment is kinda redundant, I think.
| |
| 735 if (!settings->GetPluginEnabled()) | |
| 736 { | |
| 737 s_mimeFilter->Unregister(); | |
| 738 } | |
| 739 | |
| 735 // Load theme module | 740 // Load theme module |
| 736 | |
| 737 | |
| 738 s_criticalSectionLocal.Lock(); | 741 s_criticalSectionLocal.Lock(); |
| 739 { | 742 { |
| 740 if (!s_hUxtheme) | 743 if (!s_hUxtheme) |
| 741 { | 744 { |
| 742 s_hUxtheme = ::GetModuleHandle(_T("uxtheme.dll")); | 745 s_hUxtheme = ::GetModuleHandle(_T("uxtheme.dll")); |
| 743 if (s_hUxtheme) | 746 if (s_hUxtheme) |
| 744 { | 747 { |
| 745 pfnClose = (CLOSETHEMEDATA)::GetProcAddress(s_hUxtheme, "CloseThemeData" ); | 748 pfnClose = (CLOSETHEMEDATA)::GetProcAddress(s_hUxtheme, "CloseThemeData" ); |
| 746 if (!pfnClose) | 749 if (!pfnClose) |
| 747 { | 750 { |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 811 | 814 |
| 812 if (CPluginClient::GetInstance()->IsFirstRun()) | 815 if (CPluginClient::GetInstance()->IsFirstRun()) |
| 813 { | 816 { |
| 814 CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)CPluginClass::FirstRunThrea d, NULL, NULL, NULL); | 817 CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)CPluginClass::FirstRunThrea d, NULL, NULL, NULL); |
| 815 if ((m_hPaneWnd == NULL) || (!IsStatusBarEnabled())) | 818 if ((m_hPaneWnd == NULL) || (!IsStatusBarEnabled())) |
| 816 { | 819 { |
| 817 ShowStatusBar(); | 820 ShowStatusBar(); |
| 818 } | 821 } |
| 819 | 822 |
| 820 } | 823 } |
| 821 | |
| 822 CPluginSettings* settings = CPluginSettings::GetInstance(); | |
| 823 return true; | 824 return true; |
| 824 } | 825 } |
| 825 | 826 |
| 826 bool CPluginClass::CreateStatusBarPane() | 827 bool CPluginClass::CreateStatusBarPane() |
| 827 { | 828 { |
| 828 DEBUG_GENERAL(L"Getting client"); | 829 DEBUG_GENERAL(L"Getting client"); |
| 829 | 830 |
| 830 CPluginClient* client = CPluginClient::GetInstance(); | 831 CPluginClient* client = CPluginClient::GetInstance(); |
| 831 | 832 |
| 832 DEBUG_GENERAL(L"Getting ieversion"); | 833 DEBUG_GENERAL(L"Getting ieversion"); |
| (...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1909 } | 1910 } |
| 1910 } | 1911 } |
| 1911 } | 1912 } |
| 1912 | 1913 |
| 1913 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); | 1914 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); |
| 1914 } | 1915 } |
| 1915 | 1916 |
| 1916 return hTabWnd; | 1917 return hTabWnd; |
| 1917 | 1918 |
| 1918 } | 1919 } |
| OLD | NEW |