Fix 2 performance issue in Style Configurator

Fix #14321
pull/14324/head
Don Ho 1 year ago
parent 07041f4565
commit 950236bb8f

@ -284,7 +284,7 @@ intptr_t CALLBACK WordStyleDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM
{
updateExtension();
notifyDataModified();
apply();
// apply(); // apply() function has no effect on adding & modifying user defined extension, but it's just time consuming
}
}
else
@ -872,7 +872,15 @@ void WordStyleDlg::setStyleListFromLexer(int index)
// then restore the status after sending this message.
bool isDirty = _isDirty;
bool isThemeDirty = _isThemeDirty;
::SendDlgItemMessage(_hSelf, IDC_USER_EXT_EDIT, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(userExt));
constexpr int NB_MAX = 256;
TCHAR currentExt[NB_MAX]{};
::SendDlgItemMessage(_hSelf, IDC_USER_EXT_EDIT, WM_GETTEXT, NB_MAX, reinterpret_cast<LPARAM>(currentExt));
if (userExt && lstrcmp(currentExt, userExt) != 0)
{
::SendDlgItemMessage(_hSelf, IDC_USER_EXT_EDIT, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(userExt));
}
_isDirty = isDirty;
_isThemeDirty = isThemeDirty;
::EnableWindow(::GetDlgItem(_hSelf, IDC_SAVECLOSE_BUTTON), isDirty || isThemeDirty);

Loading…
Cancel
Save