Delete the inputLock_. It will not be missed.

This commit is contained in:
Henrik Rydgård
2026-06-25 13:02:16 +02:00
parent 444f78bf84
commit 2c10fd12c4
3 changed files with 0 additions and 19 deletions
-16
View File
@@ -59,7 +59,6 @@ void ScreenManager::switchScreen(Screen *screen) {
ERROR_LOG(Log::UI, "Can't switch to empty screen"); ERROR_LOG(Log::UI, "Can't switch to empty screen");
return; return;
} }
// TODO: inputLock_ ?
INFO_LOG(Log::UI, "ScreenManager::switchScreen('%s')", screen->tag()); INFO_LOG(Log::UI, "ScreenManager::switchScreen('%s')", screen->tag());
@@ -106,8 +105,6 @@ void ScreenManager::cancelScreensAbove(Screen *screen) {
} }
void ScreenManager::update() { void ScreenManager::update() {
std::lock_guard<std::recursive_mutex> guard(inputLock_);
if (cancelScreensAbove_) { if (cancelScreensAbove_) {
bool found = false; bool found = false;
for (int i = (int)stack_.size() - 1; i >= 0; i--) { for (int i = (int)stack_.size() - 1; i >= 0; i--) {
@@ -150,7 +147,6 @@ void ScreenManager::update() {
case QueuedEventType::TOUCH: case QueuedEventType::TOUCH:
{ {
const TouchInput &touch = ev.touch; const TouchInput &touch = ev.touch;
// Send release all events to every screen layer. // Send release all events to every screen layer.
if (touch.flags & TouchInputFlags::RELEASE_ALL) { if (touch.flags & TouchInputFlags::RELEASE_ALL) {
for (auto &layer : stack_) { for (auto &layer : stack_) {
@@ -173,8 +169,6 @@ void ScreenManager::update() {
case QueuedEventType::KEY: case QueuedEventType::KEY:
{ {
const KeyInput &key = ev.key; const KeyInput &key = ev.key;
std::lock_guard<std::recursive_mutex> guard(inputLock_);
// Send key up to every screen layer, to avoid stuck keys. // Send key up to every screen layer, to avoid stuck keys.
if (key.flags & KeyInputFlags::UP) { if (key.flags & KeyInputFlags::UP) {
for (auto &layer : stack_) { for (auto &layer : stack_) {
@@ -183,14 +177,11 @@ void ScreenManager::update() {
} else if (!stack_.empty()) { } else if (!stack_.empty()) {
stack_.back().screen->key(key); stack_.back().screen->key(key);
} }
break; break;
} }
case QueuedEventType::AXIS: case QueuedEventType::AXIS:
{ {
const AxisInput &axis = ev.axis; const AxisInput &axis = ev.axis;
std::lock_guard<std::recursive_mutex> guard(inputLock_);
if (!stack_.empty()) { if (!stack_.empty()) {
stack_.back().screen->axis(axis); stack_.back().screen->axis(axis);
} }
@@ -204,7 +195,6 @@ void ScreenManager::update() {
} }
void ScreenManager::switchToNext() { void ScreenManager::switchToNext() {
std::lock_guard<std::recursive_mutex> guard(inputLock_);
if (nextStack_.empty()) { if (nextStack_.empty()) {
ERROR_LOG(Log::System, "switchToNext: No nextStack_!"); ERROR_LOG(Log::System, "switchToNext: No nextStack_!");
} }
@@ -266,7 +256,6 @@ void ScreenManager::deviceRestored(Draw::DrawContext *draw) {
void ScreenManager::resized() { void ScreenManager::resized() {
INFO_LOG(Log::UI, "ScreenManager::resized(dp: %dx%d)", g_display.dp_xres, g_display.dp_yres); INFO_LOG(Log::UI, "ScreenManager::resized(dp: %dx%d)", g_display.dp_xres, g_display.dp_yres);
std::lock_guard<std::recursive_mutex> guard(inputLock_);
// Have to notify the whole stack, otherwise there will be problems when going back // Have to notify the whole stack, otherwise there will be problems when going back
// to non-top screens. // to non-top screens.
for (auto &layer : stack_) { for (auto &layer : stack_) {
@@ -411,7 +400,6 @@ void ScreenManager::sendMessage(UIMessage message, const char *value) {
} }
void ScreenManager::shutdown() { void ScreenManager::shutdown() {
std::lock_guard<std::recursive_mutex> guard(inputLock_);
for (const auto &layer : stack_) for (const auto &layer : stack_)
delete layer.screen; delete layer.screen;
stack_.clear(); stack_.clear();
@@ -425,7 +413,6 @@ void ScreenManager::shutdown() {
} }
void ScreenManager::push(Screen *screen, int layerFlags) { void ScreenManager::push(Screen *screen, int layerFlags) {
std::lock_guard<std::recursive_mutex> guard(inputLock_);
screen->setScreenManager(this); screen->setScreenManager(this);
if (screen->isTransparent()) { if (screen->isTransparent()) {
layerFlags |= LAYER_TRANSPARENT; layerFlags |= LAYER_TRANSPARENT;
@@ -456,7 +443,6 @@ void ScreenManager::push(Screen *screen, int layerFlags) {
} }
void ScreenManager::pop() { void ScreenManager::pop() {
std::lock_guard<std::recursive_mutex> guard(inputLock_);
if (!stack_.empty()) { if (!stack_.empty()) {
stack_.back().screen->focusChanged(ScreenFocusChange::FOCUS_LOST_TOP); stack_.back().screen->focusChanged(ScreenFocusChange::FOCUS_LOST_TOP);
@@ -472,7 +458,6 @@ void ScreenManager::pop() {
} }
void ScreenManager::RecreateAllViews() { void ScreenManager::RecreateAllViews() {
std::lock_guard<std::recursive_mutex> guard(inputLock_);
for (auto &layer : stack_) { for (auto &layer : stack_) {
layer.screen->RecreateViews(); layer.screen->RecreateViews();
} }
@@ -506,7 +491,6 @@ Screen *ScreenManager::dialogParent(const Screen *dialog) const {
void ScreenManager::processFinishDialog() { void ScreenManager::processFinishDialog() {
if (dialogFinished_) { if (dialogFinished_) {
{ {
std::lock_guard<std::recursive_mutex> guard(inputLock_);
// Another dialog may have been pushed before the render, so search for it. // Another dialog may have been pushed before the render, so search for it.
Screen *caller = dialogParent(dialogFinished_); Screen *caller = dialogParent(dialogFinished_);
bool erased = false; bool erased = false;
-1
View File
@@ -222,7 +222,6 @@ public:
InputMode PassInputToMapper() const { InputMode PassInputToMapper() const {
return passInputToMapper_; return passInputToMapper_;
} }
std::recursive_mutex inputLock_;
private: private:
void pop(); void pop();
-2
View File
@@ -33,8 +33,6 @@ void UIScreen::DoRecreateViews() {
return; return;
} }
std::lock_guard<std::recursive_mutex> guard(screenManager()->inputLock_);
UI::PersistMap persisted; UI::PersistMap persisted;
bool persisting = root_ != nullptr; bool persisting = root_ != nullptr;
if (persisting) { if (persisting) {