Browse Source

Additional sanity checks for monitor resolution

pull/3453/head
Jumar Macato 7 years ago
parent
commit
7e42523008
No known key found for this signature in database GPG Key ID: B19884DAC3A5BF3F
  1. 8
      src/Avalonia.X11/X11Window.cs

8
src/Avalonia.X11/X11Window.cs

@ -102,7 +102,7 @@ namespace Avalonia.X11
valueMask |= SetWindowValuemask.ColorMap;
}
int defaultWidth = 300, defaultHeight = 200;
int defaultWidth = 0, defaultHeight = 0;
if (!_popup && Screen != null)
{
@ -117,6 +117,10 @@ namespace Avalonia.X11
}
}
// check if the calculated size is zero then compensate to hardcoded resolution
defaultWidth = Math.Max(defaultWidth, 300);
defaultHeight = Math.Max(defaultHeight, 200);
_handle = XCreateWindow(_x11.Display, _x11.RootWindow, 10, 10, defaultWidth, defaultHeight, 0,
depth,
(int)CreateWindowArgs.InputOutput,
@ -133,7 +137,7 @@ namespace Avalonia.X11
_renderHandle = _handle;
Handle = new PlatformHandle(_handle, "XID");
_realSize = new PixelSize(300, 200);
_realSize = new PixelSize(defaultWidth, defaultHeight);
platform.Windows[_handle] = OnEvent;
XEventMask ignoredMask = XEventMask.SubstructureRedirectMask
| XEventMask.ResizeRedirectMask

Loading…
Cancel
Save