all worlds list will now join correct instance for each world

This commit is contained in:
Ice Yeti 2026-05-31 13:48:31 -04:00
parent 0ceb218180
commit 3a6ae78bc6
5 changed files with 66 additions and 56 deletions

View file

@ -339,7 +339,6 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
// Create the all worlds widget
{
QList<BaseInstance*> allInstances = APPLICATION->instances()->getAllInstances();
qDebug() << "iy initially" << allInstances.length();
QList<QString> dirs;
for (BaseInstance* inst : allInstances) {
dirs.append(dynamic_cast<MinecraftInstance*>(inst)->worldDir());
@ -347,7 +346,7 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
allWorlds = new MultiWorldList(dirs, allInstances);
allWorlds->update();
allWorldsPage = new MultiWorldListPage(dynamic_cast<MinecraftInstance*>(allInstances[0]), allWorlds); //shouldnt be only one instance iy
allWorldsPage = new MultiWorldListPage(allWorlds);
ui->horizontalLayout->addWidget(allWorldsPage);
}
@ -945,10 +944,7 @@ void MainWindow::addInstance(const QString& url, const QMap<QString, QString>& e
instanceFromInstanceTask(creationTask);
}
//clean this up iy - fix ghosting issue and only joining one world despite which one you click
QList<BaseInstance*> allInstances = APPLICATION->instances()->getAllInstances();
qDebug() << "iy finally " << allInstances.length();
QList<QString> dirs;
for (BaseInstance* inst : allInstances) {
dirs.append(dynamic_cast<MinecraftInstance*>(inst)->worldDir());
@ -956,8 +952,9 @@ void MainWindow::addInstance(const QString& url, const QMap<QString, QString>& e
allWorlds = new MultiWorldList(dirs, allInstances);
allWorlds->update();
auto newAllWorldsPage = new MultiWorldListPage(dynamic_cast<MinecraftInstance*>(allInstances[0]), allWorlds); //shouldnt be only one instance iy
auto newAllWorldsPage = new MultiWorldListPage(allWorlds);
ui->horizontalLayout->replaceWidget(allWorldsPage, newAllWorldsPage);
delete allWorldsPage;
allWorldsPage = newAllWorldsPage;
}