summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2014-12-30 20:45:10 +0000
committerGeorge Hazan <george.hazan@gmail.com>2014-12-30 20:45:10 +0000
commit23ffd722eb50ed6685229cb2bb83a14ad2fbbc30 (patch)
treea4cd6e00c53d3be4a30bc150fcb9f96d44a0cfb5
parent52fb75fdfd14a7f384d4fd51b2c3695a3b8de2eb (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.cpp8
-rw-r--r--plugins/TabSRMM/src/msgdialog.cpp8
-rw-r--r--plugins/TabSRMM/src/msglog.cpp3
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);