Index: src/plugin/PluginClass.cpp |
=================================================================== |
--- a/src/plugin/PluginClass.cpp |
+++ b/src/plugin/PluginClass.cpp |
@@ -851,8 +851,20 @@ |
return false; |
} |
- if (CPluginClient::GetInstance()->IsFirstRun()) |
+ s_criticalSectionLocal.Lock(); |
+ int versionCompRes = CPluginClient::GetInstance()->CompareVersions(CPluginClient::GetInstance()->GetPref(L"currentVersion", L"0.0"), L"1.2"); |
+ |
+ bool isFirstRun = CPluginClient::GetInstance()->IsFirstRun(); |
+ CPluginClient::GetInstance()->SetPref(L"currentVersion", std::wstring(IEPLUGIN_VERSION)); |
+ // This is the first time ABP was installed |
+ // Or ABP was updated from the version that did not support Acceptable Ads (<1.2) |
+ if (isFirstRun || versionCompRes < 0) |
{ |
+ if (!isFirstRun) |
+ { |
+ CPluginClient::GetInstance()->SetPref(L"displayUpdatePage", true); |
+ } |
+ |
// IE6 can't be accessed from another thread, execute in current thread |
if (ieVersion < 7) |
{ |
@@ -862,12 +874,16 @@ |
{ |
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)CPluginClass::FirstRunThread, NULL, NULL, NULL); |
} |
- if ((m_hPaneWnd == NULL) || (!IsStatusBarEnabled())) |
+ if (((m_hPaneWnd == NULL) || !IsStatusBarEnabled()) && isFirstRun) |
{ |
ShowStatusBar(); |
} |
+ // Enable acceptable ads by default |
+ std::wstring aaUrl = CPluginClient::GetInstance()->GetPref(L"subscriptions_exceptionsurl", L""); |
+ CPluginClient::GetInstance()->AddSubscription(aaUrl); |
} |
+ s_criticalSectionLocal.Unlock(); |
return true; |
} |