Browse Source
Fix mishandled cancellation in DBusTextInputMethodBase (#21527)
* Fix mishandled cancellation in DBusTextInputMethodBase
* Revert "Fix mishandled cancellation in DBusTextInputMethodBase"
This reverts commit ac18b6d878.
* review
pull/21558/head
deryaza
4 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with
8 additions and
5 deletions
-
src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs
|
|
@ -64,9 +64,9 @@ namespace Avalonia.FreeDesktop.DBusIme |
|
|
_watchCts = new CancellationTokenSource(); |
|
|
_watchCts = new CancellationTokenSource(); |
|
|
var cancellationToken = _watchCts.Token; |
|
|
var cancellationToken = _watchCts.Token; |
|
|
foreach (var name in _knownNames) |
|
|
foreach (var name in _knownNames) |
|
|
WatchNameAsync(name); |
|
|
_ = WatchNameAsync(name); |
|
|
|
|
|
|
|
|
async void WatchNameAsync(string name) |
|
|
async Task WatchNameAsync(string name) |
|
|
{ |
|
|
{ |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
@ -99,10 +99,13 @@ namespace Avalonia.FreeDesktop.DBusIme |
|
|
OnOwnerChanged(name, owner); |
|
|
OnOwnerChanged(name, owner); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
catch (Exception e) when (!cancellationToken.IsCancellationRequested) |
|
|
catch (Exception e) |
|
|
{ |
|
|
{ |
|
|
Logger.TryGet(LogEventLevel.Error, LogArea.FreeDesktopPlatform) |
|
|
if (!cancellationToken.IsCancellationRequested) |
|
|
?.Log(this, $"WatchNameOwner for '{name}' failed: {e}"); |
|
|
{ |
|
|
|
|
|
Logger.TryGet(LogEventLevel.Error, LogArea.FreeDesktopPlatform) |
|
|
|
|
|
?.Log(this, $"WatchNameOwner for '{name}' failed: {e}"); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|