diff options
author | George Hazan <george.hazan@gmail.com> | 2014-12-30 20:45:10 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2014-12-30 20:45:10 +0000 |
commit | 23ffd722eb50ed6685229cb2bb83a14ad2fbbc30 (patch) | |
tree | a4cd6e00c53d3be4a30bc150fcb9f96d44a0cfb5 | |
parent | 52fb75fdfd14a7f384d4fd51b2c3695a3b8de2eb (diff) |
final version of crutch for the buggy Windows7 rtf control
git-svn-id: http://svn.miranda-ng.org/main/trunk@11684 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r-- | plugins/TabSRMM/src/generic_msghandlers.cpp | 8 | ||||
-rw-r--r-- | plugins/TabSRMM/src/msgdialog.cpp | 8 | ||||
-rw-r--r-- | plugins/TabSRMM/src/msglog.cpp | 3 |
3 files changed, 12 insertions, 7 deletions
diff --git a/plugins/TabSRMM/src/generic_msghandlers.cpp b/plugins/TabSRMM/src/generic_msghandlers.cpp index dfd59845c2..eff8875e98 100644 --- a/plugins/TabSRMM/src/generic_msghandlers.cpp +++ b/plugins/TabSRMM/src/generic_msghandlers.cpp @@ -1365,8 +1365,12 @@ void TSAPI DM_OptionsApplied(TWindowData *dat, WPARAM, LPARAM lParam) if (hwndDlg == m_pContainer->hwndActive) SendMessage(m_pContainer->hwnd, WM_SIZE, 0, 0); InvalidateRect(GetDlgItem(hwndDlg, IDC_MESSAGE), NULL, FALSE); - if (!lParam) - SendMessage(hwndDlg, DM_REMAKELOG, 0, 0); + if (!lParam) { + if (IsIconic(m_pContainer->hwnd)) + dat->dwFlags |= MWF_DEFERREDREMAKELOG; + else + SendMessage(hwndDlg, DM_REMAKELOG, 0, 0); + } ShowWindow(dat->hwndPanelPicParent, SW_SHOW); EnableWindow(dat->hwndPanelPicParent, TRUE); diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index 8f0d33b4f4..3dca5e0c5f 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -330,7 +330,7 @@ static void MsgWindowUpdateState(TWindowData *dat, UINT msg) } dat->pContainer->dwFlags &= ~CNT_NEED_UPDATETITLE; - if (dat->dwFlags & MWF_DEFERREDREMAKELOG) { + if ((dat->dwFlags & MWF_DEFERREDREMAKELOG) && !IsIconic(dat->pContainer->hwnd)) { SendMessage(hwndDlg, DM_REMAKELOG, 0, 0); dat->dwFlags &= ~MWF_DEFERREDREMAKELOG; } @@ -360,8 +360,10 @@ static void MsgWindowUpdateState(TWindowData *dat, UINT msg) dat->Panel->Invalidate(); - if (dat->dwFlags & MWF_DEFERREDSCROLL && dat->hwndIEView == 0 && dat->hwndHPP == 0) - DM_ScrollToBottom(dat, 0, 1); + if (dat->dwFlags & MWF_DEFERREDSCROLL && dat->hwndIEView == 0 && dat->hwndHPP == 0) {
+ dat->dwFlags &= ~MWF_DEFERREDSCROLL;
+ DM_ScrollToBottom(dat, 0, 1);
+ }
DM_SetDBButtonStates(hwndDlg, dat); diff --git a/plugins/TabSRMM/src/msglog.cpp b/plugins/TabSRMM/src/msglog.cpp index 08a4aa57df..520eeaba0c 100644 --- a/plugins/TabSRMM/src/msglog.cpp +++ b/plugins/TabSRMM/src/msglog.cpp @@ -1353,8 +1353,7 @@ void TSAPI StreamInEvents(HWND hwndDlg, HANDLE hDbEventFirst, int count, int fAp ReplaceIcons(hwndDlg, dat, startAt, fAppend, isSent);
dat->clr_added = FALSE;
- if (dat->hwndIEView == 0 && dat->hwndHPP == 0 && (!M.isAero() || M.getWinVer() != 0x0601))
- DM_ScrollToBottom(dat, 1, 1);
+ DM_ScrollToBottom(dat, 0, 0);
HWND hwndLog = GetDlgItem(hwndDlg, IDC_LOG);
SendMessage(hwndLog, WM_SETREDRAW, TRUE, 0);
|