Skip to content

Commit 800c10d

Browse files
RDEV-8025 - Adapt to different order Avalonia events are triggered (#373)
1 parent 0507f03 commit 800c10d

File tree

2 files changed

+6
-21
lines changed

2 files changed

+6
-21
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<PropertyGroup>
1111
<AssemblyVersion>2.0.0.0</AssemblyVersion>
1212
<FileVersion>2.0.0.0</FileVersion>
13-
<Version>3.120.7</Version>
13+
<Version>3.120.8</Version>
1414
<Authors>OutSystems</Authors>
1515
<Product>WebViewControl</Product>
1616
<Copyright>Copyright © OutSystems 2023</Copyright>
Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,17 @@
1-
using System;
2-
using Avalonia.Controls;
3-
using Avalonia.Interactivity;
1+
using Avalonia.Controls;
42
using Avalonia.LogicalTree;
53

64
namespace WebViewControl {
7-
85
public abstract class BaseControl : Control {
9-
106
protected abstract void InternalDispose();
117

12-
protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e) {
13-
if (e.Root is Window window) {
14-
// need to subscribe the event this way because close gets called after all elements get detached
15-
window.AddHandler(Window.WindowClosedEvent, (EventHandler<RoutedEventArgs>)OnHostWindowClosed);
16-
}
17-
base.OnAttachedToLogicalTree(e);
18-
}
19-
208
protected override void OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs e) {
21-
if (e.Root is Window window) {
22-
window.RemoveHandler(Window.WindowClosedEvent, (EventHandler<RoutedEventArgs>)OnHostWindowClosed);
23-
}
249
base.OnDetachedFromLogicalTree(e);
25-
}
2610

27-
private void OnHostWindowClosed(object sender, RoutedEventArgs eventArgs) {
28-
((Window)sender).RemoveHandler(Window.WindowClosedEvent, (EventHandler<RoutedEventArgs>)OnHostWindowClosed);
29-
InternalDispose();
11+
if (e.Root is Window w && w.PlatformImpl is null) {
12+
// Window was closed.
13+
InternalDispose();
14+
}
3015
}
3116
}
3217
}

0 commit comments

Comments
 (0)