Browse Source

Merge remote-tracking branch 'nc4rrillo/windowing-prototype' into windowing-prototype

repro-window-close
Dan Walmsley 8 years ago
parent
commit
53f456ea80
  1. 11
      src/Avalonia.Windowing/Bindings/EventsLoop.cs
  2. 12
      src/Avalonia.Windowing/WIndowingPlatform.cs

11
src/Avalonia.Windowing/Bindings/EventsLoop.cs

@ -55,16 +55,9 @@ namespace Avalonia.Windowing.Bindings
); );
} }
static TimerDel del = new TimerDel(() => public void RunTimer(TimerDel del)
{ {
Console.WriteLine("WRK"); winit_events_loop_timer(del);
});
public void RunTimer()
{
winit_events_loop_timer(
del);
} }
public void Wakeup() public void Wakeup()

12
src/Avalonia.Windowing/WIndowingPlatform.cs

@ -7,6 +7,7 @@ using Avalonia.Input;
using Avalonia.Platform; using Avalonia.Platform;
using Avalonia.Threading; using Avalonia.Threading;
using Avalonia.Windowing.Bindings; using Avalonia.Windowing.Bindings;
using static Avalonia.Windowing.Bindings.EventsLoop;
namespace Avalonia.Windowing namespace Avalonia.Windowing
{ {
@ -121,10 +122,17 @@ namespace Avalonia.Windowing
_eventsLoop.Wakeup(); _eventsLoop.Wakeup();
} }
private IList<TimerDel> timerTickers = new List<TimerDel>();
public IDisposable StartTimer(DispatcherPriority priority, TimeSpan interval, Action tick) public IDisposable StartTimer(DispatcherPriority priority, TimeSpan interval, Action tick)
{ {
_eventsLoop.RunTimer(); var x = new TimerDel(tick);
return Disposable.Create(() => { }); timerTickers.Add(x);
_eventsLoop.RunTimer(x);
return Disposable.Create(() => {
// timerTickers.Remove(x);
});
} }
} }
} }

Loading…
Cancel
Save