@@ -1706,12 +1706,7 @@ void OnEnable()
1706
1706
foreach ( var graph in registeredGraph )
1707
1707
m_RegisteredGraphs . Add ( graph , new HashSet < string > ( ) ) ;
1708
1708
1709
- RenderGraph . isRenderGraphViewerActive = true ;
1710
- RenderGraph . onGraphRegistered += OnGraphRegistered ;
1711
- RenderGraph . onGraphUnregistered += OnGraphUnregistered ;
1712
- RenderGraph . onExecutionRegistered += OnExecutionRegistered ;
1713
- RenderGraph . onExecutionUnregistered += OnExecutionUnregistered ;
1714
- RenderGraph . onDebugDataCaptured += OnDebugDataCaptured ;
1709
+ SubscribeToRenderGraphEvents ( ) ;
1715
1710
1716
1711
if ( EditorPrefs . HasKey ( kPassFilterLegacyEditorPrefsKey ) )
1717
1712
m_PassFilterLegacy = ( PassFilterLegacy ) EditorPrefs . GetInt ( kPassFilterLegacyEditorPrefsKey ) ;
@@ -1738,14 +1733,40 @@ void CreateGUI()
1738
1733
1739
1734
void OnDisable ( )
1740
1735
{
1736
+ UnsubscribeToRenderGraphEvents ( ) ;
1737
+ RenderGraphViewerLifetimeAnalytic . WindowClosed ( ) ;
1738
+ }
1739
+
1740
+ void SubscribeToRenderGraphEvents ( )
1741
+ {
1742
+ if ( RenderGraph . isRenderGraphViewerActive )
1743
+ return ;
1744
+
1745
+ RenderGraph . isRenderGraphViewerActive = true ;
1746
+ RenderGraph . onGraphRegistered += OnGraphRegistered ;
1747
+ RenderGraph . onGraphUnregistered += OnGraphUnregistered ;
1748
+ RenderGraph . onExecutionRegistered += OnExecutionRegistered ;
1749
+ RenderGraph . onExecutionUnregistered += OnExecutionUnregistered ;
1750
+ RenderGraph . onDebugDataCaptured += OnDebugDataCaptured ;
1751
+ }
1752
+
1753
+ void UnsubscribeToRenderGraphEvents ( )
1754
+ {
1755
+ if ( ! RenderGraph . isRenderGraphViewerActive )
1756
+ return ;
1757
+
1741
1758
RenderGraph . isRenderGraphViewerActive = false ;
1742
1759
RenderGraph . onGraphRegistered -= OnGraphRegistered ;
1743
1760
RenderGraph . onGraphUnregistered -= OnGraphUnregistered ;
1744
1761
RenderGraph . onExecutionRegistered -= OnExecutionRegistered ;
1745
1762
RenderGraph . onExecutionUnregistered -= OnExecutionUnregistered ;
1746
1763
RenderGraph . onDebugDataCaptured -= OnDebugDataCaptured ;
1764
+ }
1747
1765
1748
- RenderGraphViewerLifetimeAnalytic . WindowClosed ( ) ;
1766
+ void Update ( )
1767
+ {
1768
+ // UUM-70378: In case the OnDisable Unsubscribes to Render Graph events when coming back from a Maximized state
1769
+ SubscribeToRenderGraphEvents ( ) ;
1749
1770
}
1750
1771
}
1751
1772
0 commit comments