diff --git a/atom/browser/native_window.cc b/atom/browser/native_window.cc index 487557cd3118..b22ddfb2509c 100644 --- a/atom/browser/native_window.cc +++ b/atom/browser/native_window.cc @@ -117,6 +117,14 @@ void NativeWindow::InitFromOptions(const mate::Dictionary& options) { bool center; if (options.Get(options::kX, &x) && options.Get(options::kY, &y)) { SetPosition(gfx::Point(x, y)); + +#if defined(OS_WIN) + // FIXME(felixrieseberg): Dirty, dirty workaround for + // https://github.com/electron/electron/issues/10862 + // Somehow, we need to call `SetBounds` twice to get + // usable results. The root cause is still unknown. + SetPosition(gfx::Point(x, y)); +#endif } else if (options.Get(options::kCenter, ¢er) && center) { Center(); }