diff --git a/launcher/minecraft/WorldList.cpp b/launcher/minecraft/WorldList.cpp index 9a5cf042c..ec6328018 100644 --- a/launcher/minecraft/WorldList.cpp +++ b/launcher/minecraft/WorldList.cpp @@ -470,25 +470,25 @@ void WorldList::createWorldShortcut(const QModelIndex& index, QWidget* parent) c void WorldList::createWorldShortcutOnDesktop(const QModelIndex& index, QWidget* parent) const { - auto world = static_cast(data(index, ObjectRole).value()); - QString name = QString(tr("%1 - %2")).arg(m_instance->name(), world->name()); - QStringList extraArgs{ "--world", world->name() }; + const auto& world = allWorlds().at(index.row()); + QString name = QString(tr("%1 - %2")).arg(m_instance->name(), world.name()); + QStringList extraArgs{ "--world", world.name() }; ShortcutUtils::createInstanceShortcutOnDesktop(m_instance, name, tr("world"), parent, extraArgs); } void WorldList::createWorldShortcutInApplications(const QModelIndex& index, QWidget* parent) const { - auto world = static_cast(data(index, ObjectRole).value()); - QString name = QString(tr("%1 - %2")).arg(m_instance->name(), world->name()); - QStringList extraArgs{ "--world", world->name() }; + const auto& world = allWorlds().at(index.row()); + QString name = QString(tr("%1 - %2")).arg(m_instance->name(), world.name()); + QStringList extraArgs{ "--world", world.name() }; ShortcutUtils::createInstanceShortcutInApplications(m_instance, name, tr("world"), parent, extraArgs); } void WorldList::createWorldShortcutInOther(const QModelIndex& index, QWidget* parent) const { - auto world = static_cast(data(index, ObjectRole).value()); - QString name = QString(tr("%1 - %2")).arg(m_instance->name(), world->name()); - QStringList extraArgs{ "--world", world->name() }; + const auto& world = allWorlds().at(index.row()); + QString name = QString(tr("%1 - %2")).arg(m_instance->name(), world.name()); + QStringList extraArgs{ "--world", world.name() }; ShortcutUtils::createInstanceShortcutInOther(m_instance, name, tr("world"), parent, extraArgs); }