@@ -61,6 +61,8 @@ extension ProgressBar {
6161
6262 /// Performs a check to see if the progress bar should be finished.
6363 public func checkIfFinished( ) {
64+ let state = self . state. withLock { $0 }
65+
6466 var finished = true
6567 var defined = false
6668 if let totalTasks = state. totalTasks, totalTasks > 0 {
@@ -85,7 +87,7 @@ extension ProgressBar {
8587 /// - Parameter newTasks: The current tasks to set.
8688 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
8789 public func set( tasks newTasks: Int , render: Bool = true ) {
88- state. tasks = newTasks
90+ state. withLock { $0 . tasks = newTasks }
8991 if render {
9092 self . render ( )
9193 }
@@ -96,7 +98,7 @@ extension ProgressBar {
9698 /// - Parameter delta: The tasks to add to the current tasks.
9799 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
98100 public func add( tasks delta: Int , render: Bool = true ) {
99- _state . withLock {
101+ state . withLock {
100102 let newTasks = $0. tasks + delta
101103 $0. tasks = newTasks
102104 }
@@ -109,7 +111,7 @@ extension ProgressBar {
109111 /// - Parameter newTotalTasks: The total tasks to set.
110112 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
111113 public func set( totalTasks newTotalTasks: Int , render: Bool = true ) {
112- state. totalTasks = newTotalTasks
114+ state. withLock { $0 . totalTasks = newTotalTasks }
113115 if render {
114116 self . render ( )
115117 }
@@ -119,7 +121,7 @@ extension ProgressBar {
119121 /// - Parameter delta: The tasks to add to the total tasks.
120122 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
121123 public func add( totalTasks delta: Int , render: Bool = true ) {
122- _state . withLock {
124+ state . withLock {
123125 let totalTasks = $0. totalTasks ?? 0
124126 let newTotalTasks = totalTasks + delta
125127 $0. totalTasks = newTotalTasks
@@ -133,7 +135,7 @@ extension ProgressBar {
133135 /// - Parameter newItemsName: The current items to set.
134136 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
135137 public func set( itemsName newItemsName: String , render: Bool = true ) {
136- state. itemsName = newItemsName
138+ state. withLock { $0 . itemsName = newItemsName }
137139 if render {
138140 self . render ( )
139141 }
@@ -142,7 +144,7 @@ extension ProgressBar {
142144 /// Sets the current items.
143145 /// - Parameter newItems: The current items to set.
144146 public func set( items newItems: Int , render: Bool = true ) {
145- state. items = newItems
147+ state. withLock { $0 . items = newItems }
146148 if render {
147149 self . render ( )
148150 }
@@ -152,7 +154,7 @@ extension ProgressBar {
152154 /// - Parameter delta: The items to add to the current items.
153155 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
154156 public func add( items delta: Int , render: Bool = true ) {
155- _state . withLock {
157+ state . withLock {
156158 let newItems = $0. items + delta
157159 $0. items = newItems
158160 }
@@ -165,7 +167,7 @@ extension ProgressBar {
165167 /// - Parameter newTotalItems: The total items to set.
166168 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
167169 public func set( totalItems newTotalItems: Int , render: Bool = true ) {
168- state. totalItems = newTotalItems
170+ state. withLock { $0 . totalItems = newTotalItems }
169171 if render {
170172 self . render ( )
171173 }
@@ -175,7 +177,7 @@ extension ProgressBar {
175177 /// - Parameter delta: The items to add to the total items.
176178 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
177179 public func add( totalItems delta: Int , render: Bool = true ) {
178- _state . withLock {
180+ state . withLock {
179181 let totalItems = $0. totalItems ?? 0
180182 let newTotalItems = totalItems + delta
181183 $0. totalItems = newTotalItems
@@ -189,7 +191,7 @@ extension ProgressBar {
189191 /// - Parameter newSize: The current size to set.
190192 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
191193 public func set( size newSize: Int64 , render: Bool = true ) {
192- state. size = newSize
194+ state. withLock { $0 . size = newSize }
193195 if render {
194196 self . render ( )
195197 }
@@ -199,7 +201,7 @@ extension ProgressBar {
199201 /// - Parameter delta: The size to add to the current size.
200202 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
201203 public func add( size delta: Int64 , render: Bool = true ) {
202- _state . withLock {
204+ state . withLock {
203205 let newSize = $0. size + delta
204206 $0. size = newSize
205207 }
@@ -212,7 +214,7 @@ extension ProgressBar {
212214 /// - Parameter newTotalSize: The total size to set.
213215 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
214216 public func set( totalSize newTotalSize: Int64 , render: Bool = true ) {
215- state. totalSize = newTotalSize
217+ state. withLock { $0 . totalSize = newTotalSize }
216218 if render {
217219 self . render ( )
218220 }
@@ -222,7 +224,7 @@ extension ProgressBar {
222224 /// - Parameter delta: The size to add to the total size.
223225 /// - Parameter render: The flag indicating whether the progress bar has to render after the update.
224226 public func add( totalSize delta: Int64 , render: Bool = true ) {
225- _state . withLock {
227+ state . withLock {
226228 let totalSize = $0. totalSize ?? 0
227229 let newTotalSize = totalSize + delta
228230 $0. totalSize = newTotalSize
0 commit comments