From: <sv...@op...> - 2024-11-08 21:31:23
|
Author: sagamusix Date: Fri Nov 8 22:31:04 2024 New Revision: 22115 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22115 Log: [Imp] Remember visible pattern editor columns per module, and also the last active instrument in the instrument tab. [Imp] Remember view state for all tabs, not just the currently active tab. Modified: trunk/OpenMPT/mptrack/Childfrm.cpp trunk/OpenMPT/mptrack/Childfrm.h trunk/OpenMPT/mptrack/Ctrl_ins.cpp trunk/OpenMPT/mptrack/Ctrl_pat.cpp trunk/OpenMPT/mptrack/Ctrl_smp.cpp trunk/OpenMPT/mptrack/Globals.cpp trunk/OpenMPT/mptrack/Globals.h trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/View_gen.cpp trunk/OpenMPT/mptrack/View_ins.cpp trunk/OpenMPT/mptrack/View_pat.cpp trunk/OpenMPT/mptrack/View_smp.cpp trunk/OpenMPT/mptrack/view_com.cpp Modified: trunk/OpenMPT/mptrack/Childfrm.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Childfrm.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Childfrm.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -414,34 +414,52 @@ } -std::string CChildFrame::SerializeView() const +void CChildFrame::SaveAllViewStates() { + void *ptr = nullptr; + if(strcmp(CViewPattern::classCViewPattern.m_lpszClassName, m_szCurrentViewClassName) == 0) + ptr = &m_ViewPatterns; + else if(strcmp(CViewSample::classCViewSample.m_lpszClassName, m_szCurrentViewClassName) == 0) + ptr = &m_ViewSamples; + else if(strcmp(CViewInstrument::classCViewInstrument.m_lpszClassName, m_szCurrentViewClassName) == 0) + ptr = &m_ViewInstruments; + else if(strcmp(CViewGlobals::classCViewGlobals.m_lpszClassName, m_szCurrentViewClassName) == 0) + ptr = &m_ViewGeneral; + else if(strcmp(CViewComments::classCViewComments.m_lpszClassName, m_szCurrentViewClassName) == 0) + ptr = &m_ViewComments; + ::SendMessage(m_hWndView, WM_MOD_VIEWMSG, VIEWMSG_SAVESTATE, reinterpret_cast<LPARAM>(ptr)); +} + + +std::string CChildFrame::SerializeView() +{ + SaveAllViewStates(); + std::ostringstream f(std::ios::out | std::ios::binary); // Version - mpt::IO::WriteVarInt(f, 0u); + mpt::IO::WriteVarInt(f, 1u); // Current page mpt::IO::WriteVarInt(f, static_cast<uint8>(GetModControlView()->GetActivePage())); - CModControlView *view = GetModControlView(); - if (strcmp(CViewPattern::classCViewPattern.m_lpszClassName, m_szCurrentViewClassName) == 0) - { - mpt::IO::WriteVarInt(f, (uint32)view->SendMessage(WM_MOD_CTRLMSG, CTRLMSG_GETCURRENTORDER)); // Order number - } else if (strcmp(CViewSample::classCViewSample.m_lpszClassName, m_szCurrentViewClassName) == 0) + const auto Serialize = [](std::ostringstream &f, CModControlView::Page page, const std::string &s) { - mpt::IO::WriteVarInt(f, (uint32)view->SendMessage(WM_MOD_CTRLMSG, CTRLMSG_GETCURRENTINSTRUMENT)); // Sample number - } else if (strcmp(CViewInstrument::classCViewInstrument.m_lpszClassName, m_szCurrentViewClassName) == 0) - { - mpt::IO::WriteVarInt(f, (uint32)view->SendMessage(WM_MOD_CTRLMSG, CTRLMSG_GETCURRENTINSTRUMENT)); // Instrument number - } - return f.str(); + mpt::IO::WriteVarInt(f, static_cast<uint8>(page)); + mpt::IO::WriteVarInt(f, s.size()); + mpt::IO::WriteRaw(f, s.data(), s.size()); + }; + Serialize(f, CModControlView::Page::Patterns, m_ViewPatterns.Serialize()); + Serialize(f, CModControlView::Page::Samples, m_ViewSamples.Serialize()); + Serialize(f, CModControlView::Page::Instruments, m_ViewInstruments.Serialize()); + + return std::move(f).str(); } void CChildFrame::DeserializeView(FileReader &file) { uint32 version, page; - if(file.ReadVarInt(version) && version == 0 && - file.ReadVarInt(page) && page >= 0 && static_cast<CModControlView::Page>(page) < CModControlView::Page::MaxPages) + if(file.ReadVarInt(version) && version < 2 && + file.ReadVarInt(page) && page >= 0 && static_cast<CModControlView::Page>(page) < CModControlView::Page::NumPages) { UINT pageDlg = 0; switch(static_cast<CModControlView::Page>(page)) @@ -451,24 +469,51 @@ break; case CModControlView::Page::Patterns: pageDlg = IDD_CONTROL_PATTERNS; - file.ReadVarInt(m_ViewPatterns.initialOrder); + if(version == 0) + m_ViewPatterns.Deserialize(file); break; case CModControlView::Page::Samples: pageDlg = IDD_CONTROL_SAMPLES; - file.ReadVarInt(m_ViewSamples.initialSample); + if(version == 0) + m_ViewSamples.Deserialize(file); break; case CModControlView::Page::Instruments: pageDlg = IDD_CONTROL_INSTRUMENTS; - file.ReadVarInt(m_ViewInstruments.initialInstrument); + if(version == 0) + m_ViewInstruments.Deserialize(file); break; case CModControlView::Page::Comments: pageDlg = IDD_CONTROL_COMMENTS; break; case CModControlView::Page::Unknown: - case CModControlView::Page::MaxPages: + case CModControlView::Page::NumPages: break; } - GetModControlView()->PostMessage(WM_MOD_ACTIVATEVIEW, pageDlg, (LPARAM)-1); + + // Version 1 extensions + while(file.CanRead(3)) + { + uint32 size = 0; + file.ReadVarInt(page); + file.ReadVarInt(size); + FileReader chunk = file.ReadChunk(size); + if(page >= 0 && static_cast<CModControlView::Page>(page) < CModControlView::Page::NumPages && chunk.IsValid()) + { + switch(static_cast<CModControlView::Page>(page)) + { + case CModControlView::Page::Globals: m_ViewGeneral.Deserialize(chunk); break; + case CModControlView::Page::Patterns: m_ViewPatterns.Deserialize(chunk); break; + case CModControlView::Page::Samples: m_ViewSamples.Deserialize(chunk); break; + case CModControlView::Page::Instruments: m_ViewInstruments.Deserialize(chunk); break; + case CModControlView::Page::Comments: m_ViewComments.Deserialize(chunk); break; + case CModControlView::Page::Unknown: + case CModControlView::Page::NumPages: + break; + } + } + } + + GetModControlView()->PostMessage(WM_MOD_ACTIVATEVIEW, pageDlg, LPARAM(-1)); } } @@ -482,4 +527,51 @@ SendViewMessage(VIEWMSG_SETFOCUS); } + +std::string PatternViewState::Serialize() const +{ + std::ostringstream f(std::ios::out | std::ios::binary); + mpt::IO::WriteVarInt(f, initialized ? nOrder : initialOrder); + mpt::IO::WriteVarInt(f, visibleColumns.to_ulong()); + return std::move(f).str(); +} + + +void PatternViewState::Deserialize(FileReader &f) +{ + f.ReadVarInt(initialOrder); + unsigned long columns = 0; + if(f.ReadVarInt(columns)) + visibleColumns = columns; +} + + +std::string SampleViewState::Serialize() const +{ + std::ostringstream f(std::ios::out | std::ios::binary); + mpt::IO::WriteVarInt(f, nSample ? nSample : initialSample); + return std::move(f).str(); +} + + +void SampleViewState::Deserialize(FileReader &f) +{ + f.ReadVarInt(initialSample); +} + + +std::string InstrumentViewState::Serialize() const +{ + std::ostringstream f(std::ios::out | std::ios::binary); + mpt::IO::WriteVarInt(f, instrument ? instrument : initialInstrument); + return std::move(f).str(); +} + + +void InstrumentViewState::Deserialize(FileReader &f) +{ + f.ReadVarInt(initialInstrument); +} + + OPENMPT_NAMESPACE_END Modified: trunk/OpenMPT/mptrack/Childfrm.h ============================================================================== --- trunk/OpenMPT/mptrack/Childfrm.h Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Childfrm.h Fri Nov 8 22:31:04 2024 (r22115) @@ -23,16 +23,19 @@ class CModControlView; class CModControlDlg; -struct GENERALVIEWSTATE +struct GeneralViewState { PlugParamIndex nParam = 0; CHANNELINDEX nTab = 0; PLUGINDEX nPlugin = 0; bool initialized = false; + + std::string Serialize() const { return {}; } + void Deserialize(FileReader &) { } }; -struct PATTERNVIEWSTATE +struct PatternViewState { PATTERNINDEX nPattern = 0; PatternCursor cursor = 0; @@ -41,31 +44,44 @@ ORDERINDEX initialOrder = ORDERINDEX_INVALID; std::bitset<PatternCursor::numColumns> visibleColumns = std::bitset<PatternCursor::numColumns>{}.set(); bool initialized = false; + + std::string Serialize() const; + void Deserialize(FileReader &f); }; -struct SAMPLEVIEWSTATE +struct SampleViewState { SmpLength dwScrollPos = 0; SmpLength dwBeginSel = 0; SmpLength dwEndSel = 0; SAMPLEINDEX nSample = 0; SAMPLEINDEX initialSample = 0; + + std::string Serialize() const; + void Deserialize(FileReader &f); }; -struct INSTRUMENTVIEWSTATE +struct InstrumentViewState { float zoom = 4; EnvelopeType nEnv = ENV_VOLUME; INSTRUMENTINDEX initialInstrument = 0; + INSTRUMENTINDEX instrument = 0; bool bGrid = false; bool initialized = false; + + std::string Serialize() const; + void Deserialize(FileReader &f); }; -struct COMMENTVIEWSTATE +struct CommentsViewState { UINT nId = 0; bool initialized = false; + + std::string Serialize() const { return {}; } + void Deserialize(FileReader &) {} }; @@ -86,11 +102,11 @@ protected: CSplitterWnd m_wndSplitter; HWND m_hWndCtrl, m_hWndView; - GENERALVIEWSTATE m_ViewGeneral; - PATTERNVIEWSTATE m_ViewPatterns; - SAMPLEVIEWSTATE m_ViewSamples; - INSTRUMENTVIEWSTATE m_ViewInstruments; - COMMENTVIEWSTATE m_ViewComments; + GeneralViewState m_ViewGeneral; + PatternViewState m_ViewPatterns; + SampleViewState m_ViewSamples; + InstrumentViewState m_ViewInstruments; + CommentsViewState m_ViewComments; CHAR m_szCurrentViewClassName[256]; bool m_bMaxWhenClosed; bool m_bInitialActivation; @@ -107,16 +123,17 @@ LRESULT ActivateView(UINT nId, LPARAM lParam) { return ::SendMessage(m_hWndCtrl, WM_MOD_ACTIVATEVIEW, nId, lParam); } HWND GetHwndCtrl() const { return m_hWndCtrl; } HWND GetHwndView() const { return m_hWndView; } - GENERALVIEWSTATE &GetGeneralViewState() { return m_ViewGeneral; } - PATTERNVIEWSTATE &GetPatternViewState() { return m_ViewPatterns; } - SAMPLEVIEWSTATE &GetSampleViewState() { return m_ViewSamples; } - INSTRUMENTVIEWSTATE &GetInstrumentViewState() { return m_ViewInstruments; } - COMMENTVIEWSTATE &GetCommentViewState() { return m_ViewComments; } + GeneralViewState &GetGeneralViewState() { return m_ViewGeneral; } + PatternViewState &GetPatternViewState() { return m_ViewPatterns; } + SampleViewState &GetSampleViewState() { return m_ViewSamples; } + InstrumentViewState &GetInstrumentViewState() { return m_ViewInstruments; } + CommentsViewState &GetCommentViewState() { return m_ViewComments; } void SetSplitterHeight(int x); int GetSplitterHeight(); - std::string SerializeView() const; + void SaveAllViewStates(); + std::string SerializeView(); void DeserializeView(FileReader &file); void ToggleViews(); Modified: trunk/OpenMPT/mptrack/Ctrl_ins.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_ins.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Ctrl_ins.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -1214,7 +1214,7 @@ m_CbnMixPlug.Update(PluginComboBox::Config{PluginComboBox::ShowNoPlugin | PluginComboBox::ShowEmptySlots}, m_sndFile); CChildFrame *pFrame = (CChildFrame *)GetParentFrame(); - INSTRUMENTVIEWSTATE &instrumentState = pFrame->GetInstrumentViewState(); + InstrumentViewState &instrumentState = pFrame->GetInstrumentViewState(); if(instrumentState.initialInstrument != 0) { m_nInstrument = instrumentState.initialInstrument; Modified: trunk/OpenMPT/mptrack/Ctrl_pat.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Ctrl_pat.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -618,7 +618,7 @@ CChildFrame *pFrame = (CChildFrame *)GetParentFrame(); // Restore all save pattern state, except pattern number which we might have just set. - PATTERNVIEWSTATE &patternViewState = pFrame->GetPatternViewState(); + PatternViewState &patternViewState = pFrame->GetPatternViewState(); if(patternViewState.initialOrder != ORDERINDEX_INVALID) { if(CMainFrame::GetMainFrame()->GetModPlaying() != &m_modDoc) Modified: trunk/OpenMPT/mptrack/Ctrl_smp.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_smp.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Ctrl_smp.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -386,7 +386,7 @@ } CChildFrame *pFrame = (CChildFrame *)GetParentFrame(); - SAMPLEVIEWSTATE &sampleState = pFrame->GetSampleViewState(); + SampleViewState &sampleState = pFrame->GetSampleViewState(); if(sampleState.initialSample != 0) { m_nSample = sampleState.initialSample; @@ -2853,7 +2853,7 @@ CCtrlSamples::SampleSelectionPoints CCtrlSamples::GetSelectionPoints() { SampleSelectionPoints points; - SAMPLEVIEWSTATE viewstate{}; + SampleViewState viewstate{}; const ModSample &sample = m_sndFile.GetSample(m_nSample); SendViewMessage(VIEWMSG_SAVESTATE, reinterpret_cast<LPARAM>(&viewstate)); @@ -2880,7 +2880,7 @@ Limit(nStart, SmpLength(0), sample.nLength); Limit(nEnd, SmpLength(0), sample.nLength); - SAMPLEVIEWSTATE viewstate{}; + SampleViewState viewstate{}; SendViewMessage(VIEWMSG_SAVESTATE, reinterpret_cast<LPARAM>(&viewstate)); viewstate.dwBeginSel = nStart; Modified: trunk/OpenMPT/mptrack/Globals.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Globals.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Globals.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -317,7 +317,7 @@ CModControlDlg *CModControlView::GetCurrentControlDlg() const { - if(m_nActiveDlg >= Page::First && m_nActiveDlg < Page::MaxPages) + if(m_nActiveDlg >= Page::First && m_nActiveDlg < Page::NumPages) return m_Pages[static_cast<size_t>(m_nActiveDlg)]; else return nullptr; @@ -357,7 +357,7 @@ return false; } - if(page < Page::First || page >= Page::MaxPages || !pMainFrm) + if(page < Page::First || page >= Page::NumPages || !pMainFrm) return false; CModControlDlg *oldActiveDlg = GetCurrentControlDlg(); @@ -476,7 +476,7 @@ } } // Update child dialogs - for (UINT nIndex=0; nIndex<int(Page::MaxPages); nIndex++) + for (UINT nIndex=0; nIndex<int(Page::NumPages); nIndex++) { CModControlDlg *pDlg = m_Pages[nIndex]; if ((pDlg) && (pObject != pDlg)) pDlg->UpdateView(UpdateHint(lHint), pObject); @@ -504,7 +504,7 @@ if (m_TabCtrl.m_hWnd) { - if (static_cast<Page>(nIndex) < Page::MaxPages) + if (static_cast<Page>(nIndex) < Page::NumPages) { m_TabCtrl.SetCurSel(static_cast<int>(nIndex)); SetActivePage(static_cast<Page>(nIndex), lParam); Modified: trunk/OpenMPT/mptrack/Globals.h ============================================================================== --- trunk/OpenMPT/mptrack/Globals.h Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Globals.h Fri Nov 8 22:31:04 2024 (r22115) @@ -112,6 +112,7 @@ class CModControlView: public CView { public: + // Note: Page IDs are serialized to module window settings! enum class Page { Unknown = -1, @@ -121,12 +122,12 @@ Samples, Instruments, Comments, - MaxPages + NumPages }; protected: CModTabCtrl m_TabCtrl; - std::array<CModControlDlg *, int(Page::MaxPages)> m_Pages = {{}}; + std::array<CModControlDlg *, int(Page::NumPages)> m_Pages = {{}}; Page m_nActiveDlg = Page::Unknown; int m_nInstrumentChanged = -1; HWND m_hWndView = nullptr, m_hWndMDI = nullptr; Modified: trunk/OpenMPT/mptrack/MainFrm.cpp ============================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/MainFrm.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -2965,7 +2965,7 @@ case CModControlView::Page::Instruments: page = "::/Instruments.html"; break; case CModControlView::Page::Comments: page = "::/Comments.html"; break; case CModControlView::Page::Unknown: /* nothing */ break; - case CModControlView::Page::MaxPages: /* nothing */ break; + case CModControlView::Page::NumPages: /* nothing */ break; } } } Modified: trunk/OpenMPT/mptrack/Moddoc.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/Moddoc.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -2455,7 +2455,7 @@ if(strcmp("CViewPattern", pChildFrm->GetCurrentViewClassName()) == 0) // dirty HACK { - PATTERNVIEWSTATE patternViewState; + PatternViewState patternViewState; pChildFrm->SendViewMessage(VIEWMSG_SAVESTATE, (LPARAM)(&patternViewState)); pat = patternViewState.nPattern; @@ -2464,7 +2464,7 @@ } else { //patern editor object does not exist (i.e. is not active) - use saved state. - PATTERNVIEWSTATE &patternViewState = pChildFrm->GetPatternViewState(); + PatternViewState &patternViewState = pChildFrm->GetPatternViewState(); pat = patternViewState.nPattern; row = patternViewState.cursor.GetRow(); Modified: trunk/OpenMPT/mptrack/View_gen.cpp ============================================================================== --- trunk/OpenMPT/mptrack/View_gen.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/View_gen.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -189,7 +189,7 @@ if (pFrame) { - GENERALVIEWSTATE &generalState = pFrame->GetGeneralViewState(); + GeneralViewState &generalState = pFrame->GetGeneralViewState(); if (generalState.initialized) { m_TabCtrl.SetCurSel(generalState.nTab); @@ -249,7 +249,7 @@ CChildFrame *pFrame = (CChildFrame *)GetParentFrame(); if (pFrame) { - GENERALVIEWSTATE &generalState = pFrame->GetGeneralViewState(); + GeneralViewState &generalState = pFrame->GetGeneralViewState(); generalState.initialized = true; generalState.nTab = m_nActiveTab; generalState.nPlugin = m_nCurrentPlugin; Modified: trunk/OpenMPT/mptrack/View_ins.cpp ============================================================================== --- trunk/OpenMPT/mptrack/View_ins.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/View_ins.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -256,7 +256,7 @@ case VIEWMSG_LOADSTATE: if(lParam) { - INSTRUMENTVIEWSTATE *pState = (INSTRUMENTVIEWSTATE *)lParam; + InstrumentViewState *pState = (InstrumentViewState *)lParam; if(pState->initialized) { m_zoom = pState->zoom; @@ -269,11 +269,12 @@ case VIEWMSG_SAVESTATE: if(lParam) { - INSTRUMENTVIEWSTATE *pState = (INSTRUMENTVIEWSTATE *)lParam; + InstrumentViewState *pState = (InstrumentViewState *)lParam; pState->initialized = true; pState->zoom = m_zoom; pState->nEnv = m_nEnv; pState->bGrid = m_bGrid; + pState->instrument = m_nInstrument; } break; Modified: trunk/OpenMPT/mptrack/View_pat.cpp ============================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/View_pat.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -4207,7 +4207,7 @@ case VIEWMSG_LOADSTATE: if(lParam) { - PATTERNVIEWSTATE *pState = (PATTERNVIEWSTATE *)lParam; + PatternViewState *pState = (PatternViewState *)lParam; UpdateVisibileColumns(pState->visibleColumns); if(pState->initialized) { @@ -4222,7 +4222,7 @@ case VIEWMSG_SAVESTATE: if(lParam) { - PATTERNVIEWSTATE *pState = (PATTERNVIEWSTATE *)lParam; + PatternViewState *pState = (PatternViewState *)lParam; pState->initialized = true; pState->nPattern = m_nPattern; pState->cursor = m_Cursor; Modified: trunk/OpenMPT/mptrack/View_smp.cpp ============================================================================== --- trunk/OpenMPT/mptrack/View_smp.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/View_smp.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -728,7 +728,7 @@ case VIEWMSG_LOADSTATE: if (lParam) { - SAMPLEVIEWSTATE *pState = (SAMPLEVIEWSTATE *)lParam; + SampleViewState *pState = (SampleViewState *)lParam; if (pState->nSample == m_nSample) { SetCurSel(pState->dwBeginSel, pState->dwEndSel); @@ -742,7 +742,7 @@ case VIEWMSG_SAVESTATE: if (lParam) { - SAMPLEVIEWSTATE *pState = (SAMPLEVIEWSTATE *)lParam; + SampleViewState *pState = (SampleViewState *)lParam; pState->dwScrollPos = m_nScrollPosX; pState->dwBeginSel = m_dwBeginSel; pState->dwEndSel = m_dwEndSel; Modified: trunk/OpenMPT/mptrack/view_com.cpp ============================================================================== --- trunk/OpenMPT/mptrack/view_com.cpp Fri Nov 8 21:58:58 2024 (r22114) +++ trunk/OpenMPT/mptrack/view_com.cpp Fri Nov 8 22:31:04 2024 (r22115) @@ -123,7 +123,7 @@ if (pFrame) { - COMMENTVIEWSTATE &commentState = pFrame->GetCommentViewState(); + CommentsViewState &commentState = pFrame->GetCommentViewState(); if (commentState.initialized) { m_nListId = commentState.nId; @@ -154,7 +154,7 @@ CChildFrame *pFrame = (CChildFrame *)GetParentFrame(); if (pFrame) { - COMMENTVIEWSTATE &commentState = pFrame->GetCommentViewState(); + CommentsViewState &commentState = pFrame->GetCommentViewState(); commentState.initialized = true; commentState.nId = m_nListId; } |