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());
}
}
|