Skip to content

Commit 549e650

Browse files
committed
fix(plugin-manager): Early Reload Crash
1 parent 8b4622f commit 549e650

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/database/Database.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,21 @@ bool Database::Connect()
3737
return true;
3838
}
3939

40+
static constexpr int MYSQL_JSON =
41+
#ifdef _WIN32
42+
245
43+
#else
44+
enum_field_types::MYSQL_TYPE_JSON
45+
#endif
46+
;
47+
4048
std::any ParseFieldType(enum_field_types type, const char *value)
4149
{
4250
if (type == enum_field_types::MYSQL_TYPE_FLOAT || type == enum_field_types::MYSQL_TYPE_DOUBLE || type == enum_field_types::MYSQL_TYPE_DECIMAL)
4351
return atof(value);
4452
else if (type == enum_field_types::MYSQL_TYPE_INT24 || type == enum_field_types::MYSQL_TYPE_LONG || type == enum_field_types::MYSQL_TYPE_LONGLONG)
4553
return atoi(value);
46-
else if (type == enum_field_types::MYSQL_TYPE_VARCHAR || type == enum_field_types::MYSQL_TYPE_VAR_STRING || type == enum_field_types::MYSQL_TYPE_BLOB || type == enum_field_types::MYSQL_TYPE_JSON || type == enum_field_types::MYSQL_TYPE_TIMESTAMP)
54+
else if (type == enum_field_types::MYSQL_TYPE_VARCHAR || type == enum_field_types::MYSQL_TYPE_VAR_STRING || type == enum_field_types::MYSQL_TYPE_BLOB || type == MYSQL_JSON || type == enum_field_types::MYSQL_TYPE_TIMESTAMP)
4755
return std::string(value);
4856
else if (type == enum_field_types::MYSQL_TYPE_SHORT || type == enum_field_types::MYSQL_TYPE_TINY)
4957
return (short)strtol(value, nullptr, 10);

src/plugins/PluginManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,11 @@ bool PluginManager::StartPlugin(std::string plugin_name)
122122
if (plugin->GetPluginState() == PluginState_t::Started)
123123
return true;
124124

125-
plugin->SetPluginState(PluginState_t::Started);
126125
if (!plugin->LoadScriptingEnvironment())
127126
return false;
128127
if (!plugin->ExecuteStart())
129128
return false;
129+
plugin->SetPluginState(PluginState_t::Started);
130130

131131
if (AllPluginsStarted)
132132
{

0 commit comments

Comments
 (0)