// *********************** CShellExt ************************* CShellExt::CShellExt(FileState state) : m_crasher(L"TortoiseSVN", false) , regDiffLater(L"Software\\TortoiseMerge\\DiffLater", L"") , itemStates(0) , itemStatesFolder(0) , space(0) , columnrev(0) , filestatus(svn_wc_status_none) , m_State(state) { m_cRef = 0L; InterlockedIncrement(&g_cRefThisDll); { AutoLocker lock(g_csGlobalCOMGuard); g_shellObjects.Insert(this); } INITCOMMONCONTROLSEX used = { sizeof(INITCOMMONCONTROLSEX), ICC_LISTVIEW_CLASSES | ICC_WIN95_CLASSES | ICC_BAR_CLASSES | ICC_USEREX_CLASSES }; InitCommonControlsEx(&used); LoadLangDll(); }
// *********************** CShellExt ************************* CShellExt::CShellExt(FileState state) : m_State(state) , itemStates(0) , itemStatesFolder(0) , space(0) #if ENABLE_CRASHHANLDER , m_crasher(L"TortoiseGit", TGIT_VERMAJOR, TGIT_VERMINOR, TGIT_VERMICRO, TGIT_VERBUILD, TGIT_VERDATE, false) #endif ,regDiffLater(L"Software\\TortoiseGit\\DiffLater", L"") { m_cRef = 0L; InterlockedIncrement(&g_cRefThisDll); { AutoLocker lock(g_csGlobalCOMGuard); g_shellObjects.Insert(this); } INITCOMMONCONTROLSEX used = { sizeof(INITCOMMONCONTROLSEX), ICC_LISTVIEW_CLASSES | ICC_WIN95_CLASSES | ICC_BAR_CLASSES | ICC_USEREX_CLASSES }; InitCommonControlsEx(&used); LoadLangDll(); }
// *********************** CShellExt ************************* CShellExt::CShellExt(FileState state) #if ENABLE_CRASHHANLDER : m_crasher(L"TortoiseGit", TGIT_VERMAJOR, TGIT_VERMINOR, TGIT_VERMICRO, TGIT_VERBUILD, TGIT_VERDATE, false) #endif { m_State = state; m_cRef = 0L; InterlockedIncrement(&g_cRefThisDll); { AutoLocker lock(g_csGlobalCOMGuard); g_shellObjects.Insert(this); } INITCOMMONCONTROLSEX used = { sizeof(INITCOMMONCONTROLSEX), ICC_LISTVIEW_CLASSES | ICC_WIN95_CLASSES | ICC_BAR_CLASSES | ICC_USEREX_CLASSES }; InitCommonControlsEx(&used); LoadLangDll(); if (SysInfo::Instance().IsVistaOrLater()) { HMODULE hUxTheme = ::GetModuleHandle (_T("UXTHEME.DLL")); pfnGetBufferedPaintBits = (FN_GetBufferedPaintBits)::GetProcAddress(hUxTheme, "GetBufferedPaintBits"); pfnBeginBufferedPaint = (FN_BeginBufferedPaint)::GetProcAddress(hUxTheme, "BeginBufferedPaint"); pfnEndBufferedPaint = (FN_EndBufferedPaint)::GetProcAddress(hUxTheme, "EndBufferedPaint"); } }
// *********************** CShellExt ************************* CShellExt::CShellExt(FileState state) : m_State(state) , selectedItemsStatus(0) , currentFolderIsControlled(false) { m_cRef = 0L; InterlockedIncrement(&g_cRefThisDll); { AutoLocker lock(g_csGlobalCOMGuard); g_shellObjects.Insert(this); } INITCOMMONCONTROLSEX used = { sizeof(INITCOMMONCONTROLSEX), ICC_LISTVIEW_CLASSES | ICC_WIN95_CLASSES | ICC_BAR_CLASSES | ICC_USEREX_CLASSES }; InitCommonControlsEx(&used); LoadLangDll(); }
CShellExt::~CShellExt() { AutoLocker lock(g_csGlobalCOMGuard); InterlockedDecrement(&g_cRefThisDll); g_shellObjects.Erase(this); }