diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-08-29 16:38:52 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-08-29 16:38:52 -0400 |
commit | 4b637b6ff20784ffde41c521be0fd7199f4a5a9b (patch) | |
tree | 2d3585f7b3c8b24d0efb99de37863881f2ab3557 /discord | |
parent | 713ed0f9271bfd9249809940cf214d600adaecab (diff) | |
download | abaddon-portaudio-4b637b6ff20784ffde41c521be0fd7199f4a5a9b.tar.gz abaddon-portaudio-4b637b6ff20784ffde41c521be0fd7199f4a5a9b.zip |
crash fixes
Diffstat (limited to 'discord')
-rw-r--r-- | discord/discord.cpp | 6 | ||||
-rw-r--r-- | discord/objects.cpp | 4 | ||||
-rw-r--r-- | discord/objects.hpp | 4 |
3 files changed, 8 insertions, 6 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp index 57327dc..7d0ca23 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -65,11 +65,13 @@ std::vector<std::pair<Snowflake, GuildData>> DiscordClient::GetUserSortedGuilds( // unpositioned_guilds now has unpositioned guilds in ascending order for (auto it = unpositioned_guilds.rbegin(); it != unpositioned_guilds.rend(); it++) - sorted_guilds.push_back(std::make_pair(*it, m_guilds.at(*it))); + if (m_guilds.find(*it) != m_guilds.end()) + sorted_guilds.push_back(std::make_pair(*it, m_guilds.at(*it))); // now the rest go at the end in the order they are sorted for (const auto &id : m_user_settings.GuildPositions) { - sorted_guilds.push_back(std::make_pair(id, m_guilds.at(id))); + if (m_guilds.find(id) != m_guilds.end()) + sorted_guilds.push_back(std::make_pair(id, m_guilds.at(id))); } } else { // default sort is alphabetic for (auto &it : m_guilds) diff --git a/discord/objects.cpp b/discord/objects.cpp index 6350518..8de0c68 100644 --- a/discord/objects.cpp +++ b/discord/objects.cpp @@ -44,7 +44,7 @@ void from_json(const nlohmann::json &j, UserData &m) { JS_O("verified", m.IsVerified); JS_O("email", m.Email); JS_O("flags", m.Flags); - JS_O("premium_type", m.PremiumType); + JS_ON("premium_type", m.PremiumType); JS_O("public_flags", m.PublicFlags); JS_O("desktop", m.IsDesktop); JS_O("mobile", m.IsMobile); @@ -113,7 +113,7 @@ void from_json(const nlohmann::json &j, ChannelData &m) { JS_O("guild_id", m.GuildID); JS_O("position", m.Position); // JS_O("permission_overwrites", m.PermissionOverwrites); - JS_O("name", m.Name); + JS_ON("name", m.Name); JS_ON("topic", m.Topic); JS_O("nsfw", m.IsNSFW); JS_ON("last_message_id", m.LastMessageID); diff --git a/discord/objects.hpp b/discord/objects.hpp index db7927e..c56b766 100644 --- a/discord/objects.hpp +++ b/discord/objects.hpp @@ -101,7 +101,7 @@ struct UserData { bool IsVerified = false; // opt std::string Email; // opt, null int Flags = 0; // opt - int PremiumType = 0; // opt + int PremiumType = 0; // opt, null (docs wrong) int PublicFlags = 0; // opt // undocumented (opt) @@ -119,7 +119,7 @@ struct ChannelData { Snowflake GuildID; // opt int Position = -1; // opt // std::vector<PermissionOverwriteData> PermissionOverwrites; // opt - std::string Name; // opt + std::string Name; // opt, null (null for dm's) std::string Topic; // opt, null bool IsNSFW = false; // opt Snowflake LastMessageID; // opt, null |