[Kst] extragear/graphics/kst/src/plugins/crossspectrum
Adam Treat
treat at kde.org
Tue Apr 3 20:18:49 CEST 2007
SVN commit 650060 by treat:
* No more asserts
BUG:142701* No more asserts
BUG:142701* No more asserts
BUG:142701* No more asserts
BUG:142701* No more asserts
BUG:142701* No more asserts
BUG:142701* No more asserts
BUG:142701* No more asserts
BUG:142701
M +6 -0 crosspowerspectrum.cpp
M +1 -16 crossspectrumdialog_i.cpp
--- trunk/extragear/graphics/kst/src/plugins/crossspectrum/crosspowerspectrum.cpp #650059:650060
@@ -235,6 +235,8 @@
KstObject::UpdateType CrossPowerSpectrum::update(int updateCounter) {
+ Q_ASSERT(myLockStatus() == KstRWLock::WRITELOCKED);
+
bool force = dirty();
setDirty(false);
@@ -248,6 +250,8 @@
bool depUpdated = force;
+ writeLockInputsAndOutputs();
+
depUpdated = UPDATE == v1()->update(updateCounter) || depUpdated;
depUpdated = UPDATE == v2()->update(updateCounter) || depUpdated;
@@ -271,6 +275,8 @@
frequency()->setNewAndShift(frequency()->length(), frequency()->numShift());
frequency()->update(updateCounter);
+ unlockInputsAndOutputs();
+
return setLastUpdateResult(depUpdated ? UPDATE : NO_CHANGE);
}
--- trunk/extragear/graphics/kst/src/plugins/crossspectrum/crossspectrumdialog_i.cpp #650059:650060
@@ -91,15 +91,13 @@
CrossPowerSpectrumPtr cps = kst_cast<CrossPowerSpectrum>(KstDataObject::createPlugin("Cross Power Spectrum"));
Q_ASSERT(cps); //should never happen...
- cps->writeLock();
+ KstWriteLocker pl(cps);
if (tagName == defaultTag) {
tagName = KST::suggestPluginName("crosspowerspectrum");
}
cps->setTagName(KstObjectTag::fromString(tagName));
- cps->unlock();
-
// Save the vectors and scalars
if (!editSingleObject(cps) || !cps->isValid()) {
KMessageBox::sorry(this, i18n("There is an error in the values you entered."));
@@ -144,19 +142,6 @@
cps->setTagName(KstObjectTag::fromString(_tagName->text()));
-#if 0
- // Must unlock before clear()
- for (KstVectorMap::Iterator i = cps->inputVectors().begin(); i != cps->inputVectors().end(); ++i) {
- (*i)->unlock();
- }
- for (KstScalarMap::Iterator i = cps->inputScalars().begin(); i != cps->inputScalars().end(); ++i) {
- (*i)->unlock();
- }
- for (KstStringMap::Iterator i = cps->inputStrings().begin(); i != cps->inputStrings().end(); ++i) {
- (*i)->unlock();
- }
-#endif
-
cps->inputVectors().clear();
cps->inputScalars().clear();
cps->inputStrings().clear();
More information about the Kst
mailing list