Code cleanup of editcallbacks.h/.cc for more safety
This commit is contained in:
@@ -89,7 +89,7 @@ void Crop::setListener(DetailedCropListener* il)
|
||||
|
||||
EditUniqueID Crop::getCurrEditID()
|
||||
{
|
||||
EditSubscriber *subscriber = PipetteBuffer::dataProvider ? PipetteBuffer::dataProvider->getCurrSubscriber() : nullptr;
|
||||
const EditSubscriber *subscriber = PipetteBuffer::dataProvider ? PipetteBuffer::dataProvider->getCurrSubscriber() : nullptr;
|
||||
return subscriber ? subscriber->getEditID() : EUID_None;
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ void Crop::setEditSubscriber(EditSubscriber* newSubscriber)
|
||||
MyMutex::MyLock lock(cropMutex);
|
||||
|
||||
// At this point, editCrop.dataProvider->currSubscriber is the old subscriber
|
||||
EditSubscriber *oldSubscriber = PipetteBuffer::dataProvider ? PipetteBuffer::dataProvider->getCurrSubscriber() : nullptr;
|
||||
const EditSubscriber *oldSubscriber = PipetteBuffer::dataProvider ? PipetteBuffer::dataProvider->getCurrSubscriber() : nullptr;
|
||||
|
||||
if (newSubscriber == nullptr || (oldSubscriber != nullptr && oldSubscriber->getPipetteBufferType() != newSubscriber->getPipetteBufferType())) {
|
||||
if (PipetteBuffer::imgFloatBuffer != nullptr) {
|
||||
|
||||
@@ -1113,7 +1113,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void getPipetteData (T &valueR, T &valueG, T &valueB, int posX, int posY, int squareSize, int tran) const
|
||||
void getPipetteData (T &valueR, T &valueG, T &valueB, int posX, int posY, const int squareSize, int tran) const
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
|
||||
@@ -134,13 +134,17 @@ bool PipetteBuffer::bufferCreated()
|
||||
return false;
|
||||
}
|
||||
|
||||
void PipetteBuffer::getPipetteData(float* v, int x, int y, int squareSize)
|
||||
void PipetteBuffer::getPipetteData(int x, int y, const int squareSize)
|
||||
{
|
||||
if (ready && dataProvider && dataProvider->getCurrSubscriber()) {
|
||||
switch (dataProvider->getCurrSubscriber()->getPipetteBufferType()) {
|
||||
case (BT_IMAGEFLOAT):
|
||||
if (imgFloatBuffer) {
|
||||
float v[3];
|
||||
imgFloatBuffer->getPipetteData(v[0], v[1], v[2], x, y, squareSize, 0);
|
||||
dataProvider->setPipetteVal1(v[0]);
|
||||
dataProvider->setPipetteVal2(v[1]);
|
||||
dataProvider->setPipetteVal3(v[2]);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -148,7 +152,11 @@ void PipetteBuffer::getPipetteData(float* v, int x, int y, int squareSize)
|
||||
|
||||
case (BT_LABIMAGE):
|
||||
if (LabBuffer) {
|
||||
float v[3];
|
||||
LabBuffer->getPipetteData(v[0], v[1], v[2], x, y, squareSize);
|
||||
dataProvider->setPipetteVal1(v[0]);
|
||||
dataProvider->setPipetteVal2(v[1]);
|
||||
dataProvider->setPipetteVal3(v[2]);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -156,14 +164,19 @@ void PipetteBuffer::getPipetteData(float* v, int x, int y, int squareSize)
|
||||
|
||||
case (BT_SINGLEPLANE_FLOAT):
|
||||
if (singlePlaneBuffer.data != nullptr) {
|
||||
singlePlaneBuffer.getPipetteData(v[0], x, y, squareSize, 0);
|
||||
v[1] = v[2] = -1.f;
|
||||
float v;
|
||||
singlePlaneBuffer.getPipetteData(v, x, y, squareSize, 0);
|
||||
dataProvider->setPipetteVal1(v);
|
||||
dataProvider->setPipetteVal2(-1.f);
|
||||
dataProvider->setPipetteVal3(-1.f);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
v[0] = v[1] = v[2] = -1.f;
|
||||
dataProvider->setPipetteVal1(-1.f);
|
||||
dataProvider->setPipetteVal2(-1.f);
|
||||
dataProvider->setPipetteVal3(-1.f);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
bool bufferCreated();
|
||||
|
||||
// get the pipette values
|
||||
void getPipetteData(float* v, int x, int y, int squareSize);
|
||||
void getPipetteData(int x, int y, const int squareSize);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user