Index: src/ch/ch.cpp =================================================================== diff -u -rb2102d724fda96a2533b866dbf1efca9f499713b -r306fbe693c70290af9de9a5779084a697de22d75 --- src/ch/ch.cpp (.../ch.cpp) (revision b2102d724fda96a2533b866dbf1efca9f499713b) +++ src/ch/ch.cpp (.../ch.cpp) (revision 306fbe693c70290af9de9a5779084a697de22d75) @@ -475,6 +475,18 @@ SetAutorun(GetPropValue(rCfg)); #endif + // ================================= Shell extension config ============================= + LOG_INFO(m_spLog) << _T("Initializing shell extension configuration"); + try + { + m_shellExtConfig = std::make_unique(m_spLog->GetLogFileData()); + m_shellExtConfig->PrepareConfig(); + } + catch(const std::exception& e) + { + LOG_ERROR(m_spLog) << L"Failed to initialize shell extension configuration. Shell extension will be inactive. Error: " << e.what(); + } + // ================================= Main window ======================================== LOG_INFO(m_spLog) << _T("Creating main application window"); // create main window @@ -610,6 +622,11 @@ return m_spEngineLoggerConfig; } +TShellExtensionConfigPtr CCopyHandlerApp::GetShellExtensionConfig() const +{ + return m_shellExtConfig; +} + void CCopyHandlerApp::RegisterShellExtension() { CString strPath = CString(m_pathProcessor.GetProgramPath()) + _T("\\");