/
githubmirror
/
x64dbg
Обзор
Документация
Войти
/
githubmirror
/
x64dbg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
development
src/gui/Src/Utils/ValidateExpressionThread.cpp
67 строк
2 KB
3rdit
Add CPUStack modify action (wiring for WordEditDialog.cpp and ValidateExpressionThread.cpp for cross widgets library)
22 апр 2026, 14:24
Не верифицирован
22 апр 2026, 14:24
3043594
Код
Авторство
О чём код?
#include "ValidateExpressionThread.h" ValidateExpressionThread::ValidateExpressionThread(QObject* parent) : QThread(parent), mExpressionChanged(false), mStopThread(false) { this->mOnExpressionChangedCallback = nullptr; } void ValidateExpressionThread::start() { mStopThread = false; QThread::start(); } void ValidateExpressionThread::stop() { mStopThread = true; } void ValidateExpressionThread::emitExpressionChanged(bool validExpression, bool validPointer, dsint value) { emit expressionChanged(validExpression, validPointer, value); } void ValidateExpressionThread::emitInstructionChanged(dsint sizeDifference, QString error) { emit instructionChanged(sizeDifference, error); } void ValidateExpressionThread::textChanged(QString text) { mExpressionMutex.lock(); if(mExpressionText != text) { mExpressionChanged = true; mExpressionText = text; } mExpressionMutex.unlock(); } void ValidateExpressionThread::additionalStateChanged() { mExpressionMutex.lock(); mExpressionChanged = true; mExpressionMutex.unlock(); } void ValidateExpressionThread::setOnExpressionChangedCallback(EXPRESSIONCHANGEDCB callback) { mOnExpressionChangedCallback = callback; } void ValidateExpressionThread::run() { while(!mStopThread) { mExpressionMutex.lock(); QString expression = mExpressionText; bool changed = mExpressionChanged; mExpressionChanged = false; mExpressionMutex.unlock(); if(changed && mOnExpressionChangedCallback != nullptr) { mOnExpressionChangedCallback(expression); } QThread::msleep(50); } }