Browse Source

Add doc comment to related methods.

Dariusz Komosiński 6 years ago
parent
commit
823b58b335
1 changed files with 10 additions and 0 deletions
  1. 10 0
      src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs

+ 10 - 0
src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs

@@ -322,6 +322,9 @@ namespace Avalonia.Rendering.SceneGraph
             }
         }
 
+        /// <summary>
+        /// Ensures that this node draw operations have been created and are mutable (in case we are using cloned operations).
+        /// </summary>
         private void EnsureDrawOperationsCreated()
         {
             if (_drawOperations == null)
@@ -339,6 +342,13 @@ namespace Avalonia.Rendering.SceneGraph
             }
         }
 
+        /// <summary>
+        /// Creates disposable that will dispose all items in passed draw operations after being disposed.
+        /// It is crucial that we don't capture current <see cref="VisualNode"/> instance
+        /// as draw operations can be cloned and may persist across subsequent scenes.
+        /// </summary>
+        /// <param name="drawOperations">Draw operations that need to be disposed.</param>
+        /// <returns>Disposable for given draw operations.</returns>
         private static IDisposable CreateDisposeDrawOperations(List<IRef<IDrawOperation>> drawOperations)
         {
             return Disposable.Create(() =>