Skip to content

Commit 9048f26

Browse files
committed
Chill out a bit if a snackbar isnt available. fixes #607
1 parent 6d96484 commit 9048f26

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

MaterialDesignThemes.Wpf/SnackbarMessageQueue.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -286,17 +286,22 @@ private async void PumpAsync()
286286
if (snackbar != null)
287287
{
288288
var message = _snackbarMessages.First.Value;
289-
_snackbarMessages.RemoveFirst();
290-
if (_latestShownItem == null
289+
_snackbarMessages.RemoveFirst();
290+
if (_latestShownItem == null
291291
|| message.IsPromoted
292-
|| !Equals(_latestShownItem.Item1.Content, message.Content)
293-
|| !Equals(_latestShownItem.Item1.ActionContent, message.ActionContent)
292+
|| !Equals(_latestShownItem.Item1.Content, message.Content)
293+
|| !Equals(_latestShownItem.Item1.ActionContent, message.ActionContent)
294294
|| _latestShownItem.Item2 <= DateTime.Now.Subtract(_messageDuration))
295295
{
296296
await ShowAsync(snackbar, message);
297297
_latestShownItem = new Tuple<SnackbarMessageQueueItem, DateTime>(message, DateTime.Now);
298298
}
299299
}
300+
else
301+
{
302+
//no snackbar could be found, take a break
303+
_disposedEvent.WaitOne(TimeSpan.FromSeconds(1));
304+
}
300305

301306
if (_snackbarMessages.Count > 0)
302307
_messageWaitingEvent.Set();

0 commit comments

Comments
 (0)