From: <sv...@op...> - 2024-05-22 17:51:15
|
Author: sagamusix Date: Wed May 22 19:51:08 2024 New Revision: 20838 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20838 Log: [Fix] Instrument tab: Setting an instrument's plugin assignment to "no plugin" broke in r20669 (https://bugs.openmpt.org/view.php?id=1782). Modified: trunk/OpenMPT/mptrack/Ctrl_ins.cpp Modified: trunk/OpenMPT/mptrack/Ctrl_ins.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_ins.cpp Wed May 22 11:11:00 2024 (r20837) +++ trunk/OpenMPT/mptrack/Ctrl_ins.cpp Wed May 22 19:51:08 2024 (r20838) @@ -2478,19 +2478,20 @@ bool wasOpenedWithMouse = m_openendPluginListWithMouse; m_openendPluginListWithMouse = false; - if (pIns) + if(pIns) { BOOL enableVol = (nPlug == PLUGINDEX_INVALID || m_sndFile.m_playBehaviour[kMIDICCBugEmulation]) ? FALSE : TRUE; velocityStyle.EnableWindow(enableVol); m_CbnPluginVolumeHandling.EnableWindow(enableVol); - if(nPlug < MAX_MIXPLUGINS) + const PLUGINDEX mixPlug = (nPlug != PLUGINDEX_INVALID) ? nPlug + 1 : 0; + if(mixPlug <= MAX_MIXPLUGINS) { bool active = !IsLocked(); - if (active && pIns->nMixPlug != (nPlug + 1)) + if(active && pIns->nMixPlug != mixPlug) { PrepareUndo("Set Plugin"); - pIns->nMixPlug = nPlug + 1; + pIns->nMixPlug = mixPlug; SetModified(InstrumentHint().Info(), false); } @@ -2513,7 +2514,7 @@ { m_modDoc.SetModified(); } - m_modDoc.UpdateAllViews(nullptr, PluginHint(nPlug + 1).Info().Names()); + m_modDoc.UpdateAllViews(nullptr, PluginHint(mixPlug).Info().Names()); } } |