mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-06-28 22:45:26 +02:00
[desktop] Clean up game list code, fix external watcher crash, and fix macOS flickering (#4106)
- Remove unnecessary icon update code (the UI reloads this stuff anyways); test on Windows please - Cleaned up a bunch of duplicated/unused code within the game list - Fix the game list constantly reloading on macOS * When you reconstruct the entire directory list on the watcher the directoryChanged signal fires on macOS--seems like a behavioral change that occurred somewhere in the 6.8 release cycle--and it would enter an infinite loop very quickly * To fix this, only the differences between the current and old watch list are accounted for on both ends. * Since this bug is now fixed, macOS uses Qt 6.11.1 now. Should theoretically improve our situation. - Fix the external content watcher crashing; the worker would attempt to read files that didn't exist without any bounds since its cache was still pointing to that file. This supersedes and replaces #4099. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4106 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
This commit is contained in:
parent
7c0e993b5b
commit
102d254530
12 changed files with 181 additions and 277 deletions
|
|
@ -579,9 +579,12 @@ MainWindow::MainWindow(bool has_broken_vulkan)
|
|||
} else if (should_launch_qlaunch) {
|
||||
LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::QLaunch), std::nullopt);
|
||||
} else if (should_launch_hlaunch) {
|
||||
std::filesystem::path const sd_dir = Common::FS::GetEdenPathString(Common::FS::EdenPath::SDMCDir);
|
||||
std::filesystem::path const sd_dir =
|
||||
Common::FS::GetEdenPathString(Common::FS::EdenPath::SDMCDir);
|
||||
auto const hbl_path = (sd_dir / "atmosphere" / "hbl.nsp").string();
|
||||
BootGame(QString::fromStdString(hbl_path), LibraryAppletParameters(0x010000000000100Dull, Service::AM::AppletId::QLaunch));
|
||||
BootGame(
|
||||
QString::fromStdString(hbl_path),
|
||||
LibraryAppletParameters(0x010000000000100Dull, Service::AM::AppletId::QLaunch));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1545,6 +1548,8 @@ void MainWindow::ConnectMenuEvents() {
|
|||
if (checked) {
|
||||
UISettings::values.game_icon_size.SetValue(size);
|
||||
CheckIconSize();
|
||||
|
||||
game_list->UpdateIconSizes();
|
||||
game_list->RefreshGameDirectory();
|
||||
}
|
||||
});
|
||||
|
|
@ -3363,6 +3368,7 @@ void MainWindow::ToggleShowGameName() {
|
|||
|
||||
CheckIconSize();
|
||||
|
||||
game_list->UpdateIconSizes();
|
||||
game_list->RefreshGameDirectory();
|
||||
}
|
||||
|
||||
|
|
@ -3868,6 +3874,7 @@ void MainWindow::OnGameListRefresh() {
|
|||
// Resets metadata cache and reloads
|
||||
QtCommon::Game::ResetMetadata(false);
|
||||
game_list->RefreshGameDirectory();
|
||||
game_list->RefreshExternalContent();
|
||||
SetFirmwareVersion();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue