fix linux startup issues, two memory leaks and a dangling reference

This commit is contained in:
Skarn
2021-12-26 17:02:15 +03:00
parent 528759e35f
commit a64faf45b0
7 changed files with 39 additions and 35 deletions

View File

@@ -6,7 +6,7 @@
#include <memory>
#include <filesystem>
#include <ClientData.hpp>
#include <noggit/ui/windows/NoggitWindow/NoggitWindow.hpp>
#include <noggit/ui/windows/noggitWindow/NoggitWindow.hpp>
#include <noggit/application/Configuration/NoggitApplicationConfiguration.hpp>
#include <noggit/application/Configuration/NoggitApplicationConfigurationReader.hpp>
#include <noggit/application/Configuration/NoggitApplicationConfigurationWriter.hpp>

View File

@@ -165,17 +165,17 @@ namespace Noggit::Project
auto listOfDbcPaths = std::vector<std::string>
{
"DBFilesClient\\AreaTable.dbc",
"DBFilesClient\\Map.dbc",
"DBFilesClient\\LoadingScreens.dbc",
"DBFilesClient\\Light.dbc",
"DBFilesClient\\LightParams.dbc",
"DBFilesClient\\LightSkybox.dbc",
"DBFilesClient\\LightIntBand.dbc",
"DBFilesClient\\LightFloatBand.dbc",
"DBFilesClient\\GroundEffectTexture.dbc",
"DBFilesClient\\GroundEffectDoodad.dbc",
"DBFilesClient\\LiquidType.dbc",
"DBFilesClient/AreaTable.dbc",
"DBFilesClient/Map.dbc",
"DBFilesClient/LoadingScreens.dbc",
"DBFilesClient/Light.dbc",
"DBFilesClient/LightParams.dbc",
"DBFilesClient/LightSkybox.dbc",
"DBFilesClient/LightIntBand.dbc",
"DBFilesClient/LightFloatBand.dbc",
"DBFilesClient/GroundEffectTexture.dbc",
"DBFilesClient/GroundEffectDoodad.dbc",
"DBFilesClient/LiquidType.dbc",
};
if (project.Client.ClientVersion == "Wrath Of The Lich King")
@@ -199,22 +199,24 @@ namespace Noggit::Project
stream.write(buffer, fileSize);
stream.flush();
stream.close();
delete[] buffer;
}
}
auto listOfDb2Paths = std::vector<std::string>
{
//"DBFilesClient\\AreaTable.db2",
"DBFilesClient\\Map.db2",
//"DBFilesClient\\LoadingScreens.db2",
//"DBFilesClient\\Light.db2",
//"DBFilesClient\\LightParams.db2",
//"DBFilesClient\\LightSkybox.db2",
//"DBFilesClient\\LightIntBand.db2",
//"DBFilesClient\\LightFloatBand.db2",
//"DBFilesClient\\GroundEffectTexture.db2",
//"DBFilesClient\\GroundEffectDoodad.db2",
//"DBFilesClient\\LiquidType.db2",
//"DBFilesClient/AreaTable.db2",
"DBFilesClient/Map.db2",
//"DBFilesClient/LoadingScreens.db2",
//"DBFilesClient/Light.db2",
//"DBFilesClient/LightParams.db2",
//"DBFilesClient/LightSkybox.db2",
//"DBFilesClient/LightIntBand.db2",
//"DBFilesClient/LightFloatBand.db2",
//"DBFilesClient/GroundEffectTexture.db2",
//"DBFilesClient/GroundEffectDoodad.db2",
//"DBFilesClient/LiquidType.db2",
};
if (project.Client.ClientVersion == "Shadowlands")
@@ -238,6 +240,8 @@ namespace Noggit::Project
stream.write(buffer, fileSize);
stream.flush();
stream.close();
delete[] buffer;
}
}
}

View File

@@ -3,7 +3,7 @@
#include "MapCreationWizard.hpp"
#include <noggit/ui/FontAwesome.hpp>
#include <noggit/ui/windows/NoggitWindow/NoggitWindow.hpp>
#include <noggit/ui/windows/noggitWindow/NoggitWindow.hpp>
#include <noggit/MapView.h>
#include <noggit/World.h>
#include <noggit/Log.h>
@@ -69,7 +69,7 @@ MapCreationWizard::MapCreationWizard(std::shared_ptr<Project::NoggitProject> pro
// Fill selector combo
const auto& table = std::string("map");
const auto& table = std::string("Map");
auto mapTable = _project->ClientDatabase->LoadTable(table);
int count = 0;
@@ -91,7 +91,7 @@ MapCreationWizard::MapCreationWizard(std::shared_ptr<Project::NoggitProject> pro
count++;
}
_project->ClientDatabase->UnloadTable("map");
_project->ClientDatabase->UnloadTable("Map");
auto add_btn = new QPushButton("New",this);
add_btn->setIcon(Noggit::Ui::FontAwesomeIcon(Noggit::Ui::FontAwesome::plus));
@@ -300,7 +300,7 @@ void MapCreationWizard::selectMap(int map_id)
{
_is_new_record = false;
auto table = _project->ClientDatabase->LoadTable("map");
auto table = _project->ClientDatabase->LoadTable("Map");
auto record = table.Record(map_id);
_cur_map_id = map_id;
@@ -366,7 +366,7 @@ void MapCreationWizard::selectMap(int map_id)
_max_players->setValue(std::atoi(maxPlayers.c_str()));
_project->ClientDatabase->UnloadTable("map");
_project->ClientDatabase->UnloadTable("Map");
}
void MapCreationWizard::wheelEvent(QWheelEvent* event)

View File

@@ -73,7 +73,7 @@ PresetEditorWidget::PresetEditorWidget(std::shared_ptr<Project::NoggitProject> p
ui->worldSelector->addItem("None");
ui->worldSelector->setItemData(0, QVariant(-1));
const auto& table = std::string("map");
const auto& table = std::string("Map");
auto mapTable = _project->ClientDatabase->LoadTable(table);
int count = 1;

View File

@@ -4,7 +4,7 @@
#include <noggit/Log.h>
#include <noggit/World.h>
#include <noggit/ContextObject.hpp>
#include <noggit/ui/windows/NoggitWindow/NoggitWindow.hpp>
#include <noggit/ui/windows/noggitWindow/NoggitWindow.hpp>
#include <noggit/MapView.h>
#include <noggit/ui/windows/settingsPanel/SettingsPanel.h>
#include <noggit/ui/minimap_widget.hpp>
@@ -199,13 +199,13 @@ namespace Noggit::Ui
_world.reset();
auto table = _project->ClientDatabase->LoadTable("map");
auto table = _project->ClientDatabase->LoadTable("Map");
auto record = table.Record(mapID);
_world = std::make_unique<World>(record.Columns["Directory"].Value, mapID, Noggit::NoggitRenderContext::MAP_VIEW);
_minimap->world(_world.get());
_project->ClientDatabase->UnloadTable("map");
_project->ClientDatabase->UnloadTable("Map");
emit map_selected(mapID);
@@ -342,7 +342,7 @@ namespace Noggit::Ui
table->clear();
}
const auto& table = std::string("map");
const auto& table = std::string("Map");
auto mapTable = _project->ClientDatabase->LoadTable(table);
auto iterator = mapTable.Records();

View File

@@ -8,7 +8,7 @@
#include <qgraphicseffect.h>
#include <QString>
#include <noggit/application/NoggitApplication.hpp>
#include <noggit/ui/windows/NoggitWindow/NoggitWindow.hpp>
#include <noggit/ui/windows/noggitWindow/NoggitWindow.hpp>
#include <noggit/ui/windows/projectCreation/NoggitProjectCreationDialog.h>
QT_BEGIN_NAMESPACE