From: Peter Penz Date: Wed, 24 Mar 2010 22:41:06 +0000 (+0000) Subject: Renamed methods and improved documentation, as in the previous patch the wrong mutex... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/d197a7e5319cb86ab3479c23828af226365d6049?ds=inline Renamed methods and improved documentation, as in the previous patch the wrong mutex has been used accidently because of the confusing naming of the methods. svn path=/trunk/KDE/kdebase/apps/; revision=1107136 --- diff --git a/src/versioncontrol/updateitemstatesthread.cpp b/src/versioncontrol/updateitemstatesthread.cpp index 020cdb0d0..57c4481c3 100644 --- a/src/versioncontrol/updateitemstatesthread.cpp +++ b/src/versioncontrol/updateitemstatesthread.cpp @@ -76,14 +76,14 @@ void UpdateItemStatesThread::run() } } -bool UpdateItemStatesThread::beginReadItemStates() +bool UpdateItemStatesThread::lockPlugin() { - return m_itemMutex.tryLock(300); + return m_globalPluginMutex->tryLock(300); } -void UpdateItemStatesThread::endReadItemStates() +void UpdateItemStatesThread::unlockPlugin() { - m_itemMutex.unlock(); + m_globalPluginMutex->unlock(); } QList UpdateItemStatesThread::itemStates() const diff --git a/src/versioncontrol/updateitemstatesthread.h b/src/versioncontrol/updateitemstatesthread.h index f99188014..8467c87d7 100644 --- a/src/versioncontrol/updateitemstatesthread.h +++ b/src/versioncontrol/updateitemstatesthread.h @@ -41,11 +41,30 @@ public: UpdateItemStatesThread(); virtual ~UpdateItemStatesThread(); + /** + * @param plugin Version control plugin that is used to update the + * state of the items. Whenever the plugin is accessed + * from the thread creator after starting the thread, + * UpdateItemStatesThread::lockPlugin() and + * UpdateItemStatesThread::unlockPlugin() must be used. + * @param itemStates List of items, where the states get updated. + */ void setData(KVersionControlPlugin* plugin, const QList& itemStates); - bool beginReadItemStates(); - void endReadItemStates(); + /** + * Whenever the plugin is accessed by the thread creator, lockPlugin() must + * be invoked. True is returned, if the plugin could be locked within 300 + * milliseconds. + */ + bool lockPlugin(); + + /** + * Must be invoked if lockPlugin() returned true and plugin has been accessed + * by the thread creator. + */ + void unlockPlugin(); + QList itemStates() const; bool retrievedItems() const; diff --git a/src/versioncontrol/versioncontrolobserver.cpp b/src/versioncontrol/versioncontrolobserver.cpp index cab62be39..c1ef4b54b 100644 --- a/src/versioncontrol/versioncontrolobserver.cpp +++ b/src/versioncontrol/versioncontrolobserver.cpp @@ -99,9 +99,9 @@ VersionControlObserver::~VersionControlObserver() QList VersionControlObserver::contextMenuActions(const KFileItemList& items) const { QList actions; - if (isVersioned() && m_updateItemStatesThread->beginReadItemStates()) { + if (isVersioned() && m_updateItemStatesThread->lockPlugin()) { actions = m_plugin->contextMenuActions(items); - m_updateItemStatesThread->endReadItemStates(); + m_updateItemStatesThread->unlockPlugin(); } return actions; } @@ -109,9 +109,9 @@ QList VersionControlObserver::contextMenuActions(const KFileItemList& QList VersionControlObserver::contextMenuActions(const QString& directory) const { QList actions; - if (isVersioned() && m_updateItemStatesThread->beginReadItemStates()) { + if (isVersioned() && m_updateItemStatesThread->lockPlugin()) { actions = m_plugin->contextMenuActions(directory); - m_updateItemStatesThread->endReadItemStates(); + m_updateItemStatesThread->unlockPlugin(); } return actions;