|
|
@@ -183,11 +183,16 @@ namespace Avalonia.Utilities
|
|
|
for (int c = 0; c < _count; c++)
|
|
|
{
|
|
|
var r = _data[c];
|
|
|
+
|
|
|
+ TSubscriber target = null;
|
|
|
+
|
|
|
+ r.Subscriber?.TryGetTarget(out target);
|
|
|
+
|
|
|
//Mark current index as first empty
|
|
|
- if (r.Subscriber == null && empty == -1)
|
|
|
+ if (target == null && empty == -1)
|
|
|
empty = c;
|
|
|
//If current element isn't null and we have an empty one
|
|
|
- if (r.Subscriber != null && empty != -1)
|
|
|
+ if (target != null && empty != -1)
|
|
|
{
|
|
|
_data[c] = default;
|
|
|
_data[empty] = r;
|