Prevent bad window position when starting in fullscreen mode
Some checks failed
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux32 flags:32 name:Linux GCC 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux64 flags:64 name:Linux GCC x64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm32 flags:arm32 name:Linux GCC ARM 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm64 flags:arm64 name:Linux GCC ARM 64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:macos name:macOS Apple Silicon os:macos-14]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win32 flags:-A Win32 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 Win32 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win64 flags:-A x64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 x64 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:winarm64 flags:-A ARM64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 ARM os:windows-2022]) (push) Has been cancelled
CD / Create Pi Mono Setup (push) Has been cancelled
CD / Publishing (push) Has been cancelled

This commit is contained in:
Lorenzooone 2025-05-18 03:25:13 +02:00
parent 9a1a840e87
commit dec304c00b
2 changed files with 5 additions and 2 deletions

View File

@ -126,6 +126,7 @@ private:
sf::RenderWindow m_win;
bool is_window_windowed;
sf::Vector2i saved_windowed_pos;
bool was_windowed_pos_saved;
int m_width, m_height;
int m_width_no_manip, m_height_no_manip;
int m_window_width, m_window_height;

View File

@ -160,6 +160,7 @@ WindowScreen::WindowScreen(ScreenType stype, CaptureStatus* capture_status, Disp
this->created_proper_folder = created_proper_folder;
this->is_window_windowed = false;
this->saved_windowed_pos = sf::Vector2i(0, 0);
this->was_windowed_pos_saved = false;
}
WindowScreen::~WindowScreen() {
@ -510,7 +511,8 @@ void WindowScreen::window_factory(bool is_main_thread) {
// Regardless of how it will change...
if(previously_open && this->is_window_windowed) {
prev_pos = this->m_win.getPosition();
saved_windowed_pos = prev_pos;
this->saved_windowed_pos = prev_pos;
this->was_windowed_pos_saved = true;
}
if((this->loaded_info.initial_pos_x != DEFAULT_NO_POS_WINDOW_VALUE) && (this->loaded_info.initial_pos_y != DEFAULT_NO_POS_WINDOW_VALUE))
prev_pos = sf::Vector2i(this->loaded_info.initial_pos_x, this->loaded_info.initial_pos_y);
@ -533,7 +535,7 @@ void WindowScreen::window_factory(bool is_main_thread) {
else
this->m_win.create(this->curr_desk_mode, this->title_factory(), sf::Style::None);
}
if(previously_open && (!this->loaded_info.is_fullscreen))
if(previously_open && (!this->loaded_info.is_fullscreen) && this->was_windowed_pos_saved)
this->m_win.setPosition(saved_windowed_pos);
if((this->loaded_info.initial_pos_x != DEFAULT_NO_POS_WINDOW_VALUE) && (this->loaded_info.initial_pos_y != DEFAULT_NO_POS_WINDOW_VALUE) && (!this->loaded_info.is_fullscreen))
this->m_win.setPosition(prev_pos);