ui: Refresh UI state only after every style refresh in each view finished (#917)
Separated UI refresh into 'style' and 'state' refresh to avoid race condition between task scheduler thread and UI thread that affected code view state. fixes #916
This commit is contained in:
@@ -632,16 +632,6 @@ void QtCodeNavigator::setModeSingle()
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeNavigator::handleMessage(MessageIndexingFinished* message)
|
||||
{
|
||||
m_onQtThread([=]() { clearCache(); });
|
||||
}
|
||||
|
||||
void QtCodeNavigator::handleMessage(MessageSwitchColorScheme* message)
|
||||
{
|
||||
m_onQtThread([=]() { clearCache(); });
|
||||
}
|
||||
|
||||
void QtCodeNavigator::handleMessage(MessageWindowFocus* message)
|
||||
{
|
||||
if (message->focusIn)
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
|
||||
#include "ErrorInfo.h"
|
||||
#include "LocationType.h"
|
||||
#include "MessageIndexingFinished.h"
|
||||
#include "MessageListener.h"
|
||||
#include "MessageSwitchColorScheme.h"
|
||||
#include "MessageWindowFocus.h"
|
||||
#include "QtCodeFileList.h"
|
||||
#include "QtCodeFileSingle.h"
|
||||
@@ -21,8 +19,6 @@ class SourceLocationFile;
|
||||
|
||||
class QtCodeNavigator
|
||||
: public QWidget
|
||||
, public MessageListener<MessageIndexingFinished>
|
||||
, public MessageListener<MessageSwitchColorScheme>
|
||||
, public MessageListener<MessageWindowFocus>
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -117,8 +113,6 @@ private slots:
|
||||
void setModeSingle();
|
||||
|
||||
private:
|
||||
void handleMessage(MessageIndexingFinished* message) override;
|
||||
void handleMessage(MessageSwitchColorScheme* message) override;
|
||||
void handleMessage(MessageWindowFocus* message) override;
|
||||
|
||||
QtThreadedLambdaFunctor m_onQtThread;
|
||||
|
||||
Reference in New Issue
Block a user