Browse Source

Better handling for plugins that set 0-size state

tags/v1.9.9
falkTX 7 years ago
parent
commit
bfe978f355
2 changed files with 6 additions and 2 deletions
  1. +3
    -1
      source/backend/engine/CarlaEngineBridge.cpp
  2. +3
    -1
      source/backend/plugin/CarlaPluginBridge.cpp

+ 3
- 1
source/backend/engine/CarlaEngineBridge.cpp View File

@@ -877,7 +877,9 @@ public:
fShmNonRtServerControl.writeCustomData(cdata.key, keyLen); fShmNonRtServerControl.writeCustomData(cdata.key, keyLen);


fShmNonRtServerControl.writeUInt(valueLen); fShmNonRtServerControl.writeUInt(valueLen);
fShmNonRtServerControl.writeCustomData(cdata.value, valueLen);

if (valueLen > 0)
fShmNonRtServerControl.writeCustomData(cdata.value, valueLen);


fShmNonRtServerControl.commitWrite(); fShmNonRtServerControl.commitWrite();
fShmNonRtServerControl.waitIfDataIsReachingLimit(); fShmNonRtServerControl.waitIfDataIsReachingLimit();


+ 3
- 1
source/backend/plugin/CarlaPluginBridge.cpp View File

@@ -2115,7 +2115,9 @@ public:
const uint32_t valueSize(fShmNonRtServerControl.readUInt()); const uint32_t valueSize(fShmNonRtServerControl.readUInt());
char value[valueSize+1]; char value[valueSize+1];
carla_zeroChars(value, valueSize+1); carla_zeroChars(value, valueSize+1);
fShmNonRtServerControl.readCustomData(value, valueSize);

if (valueSize > 0)
fShmNonRtServerControl.readCustomData(value, valueSize);


CarlaPlugin::setCustomData(type, key, value, false); CarlaPlugin::setCustomData(type, key, value, false);
} break; } break;


Loading…
Cancel
Save