UI: Fix window start pos when not inside a monitor
Commit 8932bd39
attempted to fix the starting position when the program
started up inside of a monitor that no longer exists, but it was
incorrectly assumed that it would cause the program to automatically
center its position. Instead it set its position to {0,0}, which is a
really awkward position.
This fixes that commit and ensures the window starts up centered to the
primary display when its saved starting position is invalid.
master
parent
ee4febcd06
commit
e9087cfdc9
|
@ -23,6 +23,7 @@
|
|||
#include <QShowEvent>
|
||||
#include <QDesktopServices>
|
||||
#include <QFileDialog>
|
||||
#include <QDesktopWidget>
|
||||
|
||||
#include <util/dstr.h>
|
||||
#include <util/util.hpp>
|
||||
|
@ -132,11 +133,16 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|||
int posy = config_get_int(App()->GlobalConfig(), "BasicWindow",
|
||||
"posy");
|
||||
|
||||
if (!WindowPositionValid(posx, posy))
|
||||
posx = posy = 0;
|
||||
|
||||
if (!WindowPositionValid(posx, posy)) {
|
||||
QRect rect = App()->desktop()->availableGeometry();
|
||||
setGeometry(QStyle::alignedRect(
|
||||
Qt::LeftToRight,
|
||||
Qt::AlignCenter,
|
||||
size(), rect));
|
||||
} else {
|
||||
setGeometry(posx, posy, width, height);
|
||||
}
|
||||
}
|
||||
|
||||
char styleSheetPath[512];
|
||||
int ret = GetProfilePath(styleSheetPath, sizeof(styleSheetPath),
|
||||
|
|
Loading…
Reference in New Issue