From 97417a54da63c3a8e8921bbba52fb3adf725a9fc Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Sat, 6 Mar 2010 09:50:03 +0000 Subject: Optimized setting wrap attributes by only calling ReconfigureScrollBars if the attribute has changed value since ReconfigureScrollBars is unexpectedly slow on GTK+. --- src/Editor.cxx | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/Editor.cxx b/src/Editor.cxx index d25099c1a..7afd3e563 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -7142,9 +7142,11 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { return wrapState; case SCI_SETWRAPVISUALFLAGS: - wrapVisualFlags = wParam; - InvalidateStyleRedraw(); - ReconfigureScrollBars(); + if (wrapVisualFlags != static_cast(wParam)) { + wrapVisualFlags = wParam; + InvalidateStyleRedraw(); + ReconfigureScrollBars(); + } break; case SCI_GETWRAPVISUALFLAGS: @@ -7159,18 +7161,22 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { return wrapVisualFlagsLocation; case SCI_SETWRAPSTARTINDENT: - wrapVisualStartIndent = wParam; - InvalidateStyleRedraw(); - ReconfigureScrollBars(); + if (wrapVisualStartIndent != static_cast(wParam)) { + wrapVisualStartIndent = wParam; + InvalidateStyleRedraw(); + ReconfigureScrollBars(); + } break; case SCI_GETWRAPSTARTINDENT: return wrapVisualStartIndent; case SCI_SETWRAPINDENTMODE: - wrapIndentMode = wParam; - InvalidateStyleRedraw(); - ReconfigureScrollBars(); + if (wrapIndentMode != static_cast(wParam)) { + wrapIndentMode = wParam; + InvalidateStyleRedraw(); + ReconfigureScrollBars(); + } break; case SCI_GETWRAPINDENTMODE: -- cgit v1.2.3