[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegraphics/kviewshell/plugins/dvi
From: Stefan Kebekus <kebekus () kde ! org>
Date: 2006-05-03 18:39:23
Message-ID: 1146681563.277414.19277.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 537023 by kebekus:
port of robustification from working branch: use mutexlockers
M +11 -25 dviRenderer.cpp
--- trunk/KDE/kdegraphics/kviewshell/plugins/dvi/dviRenderer.cpp #537022:537023
@@ -85,8 +85,7 @@
kDebug(kvs::dvi) << "~dviRenderer" << endl;
#endif
- mutex.lock();
- mutex.unlock();
+ QMutexLocker locker(&mutex);
delete PS_interface;
delete dviFile;
@@ -104,10 +103,10 @@
void dviRenderer::showInfo()
{
- mutex.lock();
+ QMutexLocker locker(&mutex);
+
info->setDVIData(dviFile);
info->show();
- mutex.unlock();
}
@@ -130,23 +129,21 @@
return;
}
- mutex.lock();
+ QMutexLocker locker(&mutex);
+
if ( dviFile == 0 ) {
kError(kvs::dvi) << "dviRenderer::drawPage(documentPage *) called, but no \
dviFile class allocated." << endl; page->clear();
- mutex.unlock();
return;
}
if (page->getPageNumber() > dviFile->total_pages) {
kError(kvs::dvi) << "dviRenderer::drawPage(documentPage *) called for a \
documentPage with page number " << page->getPageNumber()
<< " but the current dviFile has only " << dviFile->total_pages << \
" pages." << endl;
- mutex.unlock();
return;
}
if ( dviFile->dvi_Data() == 0 ) {
kError(kvs::dvi) << "dviRenderer::drawPage(documentPage *) called, but no \
dviFile is loaded yet." << endl; page->clear();
- mutex.unlock();
return;
}
@@ -187,7 +184,6 @@
errorMsg, i18n("DVI File Error"));
errorMsg = QString::null;
currentlyDrawnPage = 0;
- mutex.unlock();
return;
}
@@ -206,7 +202,6 @@
}
currentlyDrawnPage = 0;
- mutex.unlock();
}
@@ -216,7 +211,7 @@
// Disable postscript-specials temporarely to speed up text extraction.
_postscript = false;
- drawPage(100.0, page);
+ drawPage(resolutionInDPI, page);
_postscript = postscriptBackup;
}
@@ -565,16 +560,14 @@
Anchor dviRenderer::parseReference(const QString &reference)
{
- mutex.lock();
+ QMutexLocker locker(&mutex);
#ifdef DEBUG_DVIRENDERER
kError(kvs::dvi) << "dviRenderer::parseReference( " << reference << " ) called" << \
endl; #endif
- if (dviFile == 0) {
- mutex.unlock();
+ if (dviFile == 0)
return Anchor();
- }
// case 1: The reference is a number, which we'll interpret as a
// page number.
@@ -586,7 +579,6 @@
if (page > dviFile->total_pages)
page = dviFile->total_pages;
- mutex.unlock();
return Anchor(page, Length() );
}
@@ -608,7 +600,6 @@
"We refer to the manual of KDVI for a detailed \
explanation on how to include this "
"information. Press the F1 key to open the \
manual.</qt>", refLineNumber, refFileName), i18n("Could Not Find Reference"));
- mutex.unlock();
return Anchor();
}
@@ -640,22 +631,17 @@
bestMatch = it;
}
- if (bestMatch != sourceHyperLinkAnchors.end()) {
- mutex.unlock();
+ if (bestMatch != sourceHyperLinkAnchors.end())
return Anchor(bestMatch->page, bestMatch->distance_from_top);
- } else
+ else
if (anchorForRefFileFound == false)
KMessageBox::sorry(parentWidget, i18n("<qt>KDVI was not able to locate the \
place in the DVI file which corresponds to "
"line %1 in the TeX-file \
<strong>%2</strong>.</qt>", refLineNumber, refFileName), i18n( "Could Not Find \
Reference" ));
- else {
- mutex.unlock();
+ else
return Anchor();
- }
- mutex.unlock();
return Anchor();
}
- mutex.unlock();
return Anchor();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic