MCPcopy Create free account
hub / github.com/ConEmu/ConEmu / OnMainThreadActivated

Method OnMainThreadActivated

src/ConEmuPlugin/ConEmuPluginBase.cpp:3127–3240  ·  view source on GitHub ↗

Вызывается из ACTL_SYNCHRO для FAR2 или при ConsoleReadInput(1) в FAR1

Source from the content-addressed store, hash-verified

3125// Вызывается из ACTL_SYNCHRO для FAR2
3126// или при ConsoleReadInput(1) в FAR1
3127void CPluginBase::OnMainThreadActivated()
3128{
3129 // Теоретически, в FAR2 мы сюда можем попасть и не из основной нити,
3130 // если таки будет переделана "thread-safe" активация.
3131 if (gbNeedPostEditCheck)
3132 {
3133 DWORD currentModifiedState = Plugin()->GetEditorModifiedState();
3134
3135 if (lastModifiedStateW != (int)currentModifiedState)
3136 {
3137 lastModifiedStateW = (int)currentModifiedState;
3138 gbRequestUpdateTabs = TRUE;
3139 }
3140
3141 // 100909 - не было
3142 gbNeedPostEditCheck = FALSE;
3143 }
3144
3145 // To avoid spare API calls
3146 int iMacroActive = 0;
3147
3148 if (!gbRequestUpdateTabs && gbNeedPostTabSend)
3149 {
3150 if (!Plugin()->isMacroActive(iMacroActive))
3151 {
3152 gbRequestUpdateTabs = TRUE; gbNeedPostTabSend = FALSE;
3153 }
3154 }
3155
3156 if (gbRequestUpdateTabs && !Plugin()->isMacroActive(iMacroActive))
3157 {
3158 gbRequestUpdateTabs = gbNeedPostTabSend = FALSE;
3159 Plugin()->UpdateConEmuTabs(true);
3160
3161 if (gbClosingModalViewerEditor)
3162 {
3163 gbClosingModalViewerEditor = FALSE;
3164 gbRequestUpdateTabs = TRUE;
3165 }
3166 }
3167
3168 // Retrieve current panel CD's
3169 // Remove (gnCurrentWindowType == WTYPE_PANELS) restriction,
3170 // panel paths may be changed even from editor
3171 if (!Plugin()->isMacroActive(iMacroActive))
3172 {
3173 DEBUGSTRCURDIR(L"UpdatePanelDirs()");
3174 gbNeedReloadFarDir = FALSE;
3175 Plugin()->UpdatePanelDirs();
3176
3177 gnSynchroThrottleTick = 0;
3178 }
3179
3180 // !!! Это только чисто в OnConsolePeekReadInput, т.к. FAR Api тут не используется
3181 //if (gpConMapInfo && gpFarInfo && gpFarInfoMapping)
3182 // TouchReadPeekConsoleInputs(abPeek ? 1 : 0);
3183
3184 if (gbNeedPostReloadFarInfo)

Callers 4

UpdateConEmuTabsMethod · 0.45
OpenPluginCommonMethod · 0.45

Calls 5

PluginFunction · 0.85
isMacroActiveMethod · 0.80
UpdateConEmuTabsMethod · 0.80
UpdatePanelDirsMethod · 0.80

Tested by

no test coverage detected