diff --git a/src/joybutton.cpp b/src/joybutton.cpp index 288bb41b9..0dd522847 100644 --- a/src/joybutton.cpp +++ b/src/joybutton.cpp @@ -1920,10 +1920,12 @@ QList JoyButton::getActiveZoneList() if (numActiveSlots > 0) { + qInfo() << "active"; tempLock = &activeZoneLock; iter = &activeSlotsIter; } else { + qInfo() << "assig"; tempLock = &assignmentsLock; iter = &assignmentsIter; } @@ -3067,13 +3069,14 @@ void JoyButton::removeAssignedSlot(int index) void JoyButton::clearSlotsEventReset(bool clearSignalEmit) { - QWriteLocker tempAssignLocker(&assignmentsLock); - + assignmentsLock.lockForWrite(); resetSlotsProp(); stopTimers(false); releaseActiveSlots(); clearAssignedSlots(clearSignalEmit); clearQueues(); + assignmentsLock.unlock(); + buildActiveZoneSummaryString(); DEBUG() << "all current slots and previous slots ale cleared"; }