|
|
|
@ -41,6 +41,7 @@ namespace Avalonia.X11 |
|
|
|
private IntPtr _xic; |
|
|
|
private IntPtr _renderHandle; |
|
|
|
private bool _mapped; |
|
|
|
private bool _wasMappedAtLeastOnce = false; |
|
|
|
private HashSet<X11Window> _transientChildren = new HashSet<X11Window>(); |
|
|
|
private X11Window _transientParent; |
|
|
|
private double? _scalingOverride; |
|
|
|
@ -769,6 +770,7 @@ namespace Avalonia.X11 |
|
|
|
|
|
|
|
void ShowCore() |
|
|
|
{ |
|
|
|
_wasMappedAtLeastOnce = true; |
|
|
|
XMapWindow(_x11.Display, _handle); |
|
|
|
XFlush(_x11.Display); |
|
|
|
} |
|
|
|
@ -816,7 +818,7 @@ namespace Avalonia.X11 |
|
|
|
XConfigureResizeWindow(_x11.Display, _renderHandle, pixelSize); |
|
|
|
XFlush(_x11.Display); |
|
|
|
|
|
|
|
if (force || (_popup && needImmediatePopupResize)) |
|
|
|
if (force || !_wasMappedAtLeastOnce || (_popup && needImmediatePopupResize)) |
|
|
|
{ |
|
|
|
_realSize = pixelSize; |
|
|
|
Resized?.Invoke(ClientSize); |
|
|
|
@ -857,6 +859,11 @@ namespace Avalonia.X11 |
|
|
|
XConfigureWindow(_x11.Display, _handle, ChangeWindowFlags.CWX | ChangeWindowFlags.CWY, |
|
|
|
ref changes); |
|
|
|
XFlush(_x11.Display); |
|
|
|
if (!_wasMappedAtLeastOnce) |
|
|
|
{ |
|
|
|
_position = value; |
|
|
|
PositionChanged?.Invoke(value); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|