summaryrefslogtreecommitdiff
path: root/windows/guildsettings/rolespane.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-09-24 01:55:41 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2021-09-24 01:55:41 -0400
commit9755090c8c8fa9f2c1a23146830b50dcb8faa780 (patch)
tree89fed4bc796483bb745261f9968cc2b0cf75f3e7 /windows/guildsettings/rolespane.cpp
parent3815d97f5f96de655c778dddf95def9408a47335 (diff)
downloadabaddon-portaudio-9755090c8c8fa9f2c1a23146830b50dcb8faa780.tar.gz
abaddon-portaudio-9755090c8c8fa9f2c1a23146830b50dcb8faa780.zip
try and fix potential crash on ROLE_UPDATE
Diffstat (limited to 'windows/guildsettings/rolespane.cpp')
-rw-r--r--windows/guildsettings/rolespane.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/windows/guildsettings/rolespane.cpp b/windows/guildsettings/rolespane.cpp
index 871e1cf..24c4d78 100644
--- a/windows/guildsettings/rolespane.cpp
+++ b/windows/guildsettings/rolespane.cpp
@@ -159,15 +159,7 @@ GuildSettingsRolesPaneRolesListItem::GuildSettingsRolesPaneRolesListItem(const G
UpdateItem(role);
- discord.signal_role_update().connect([this, &discord](Snowflake guild_id, Snowflake role_id) {
- if (guild_id != GuildID || role_id != RoleID) return;
- const auto role = discord.GetRole(RoleID);
- if (!role.has_value())
- printf("nullopt??? %llu\n", (uint64_t)RoleID);
- Position = role->Position;
- UpdateItem(*role);
- changed();
- });
+ discord.signal_role_update().connect(sigc::mem_fun(*this, &GuildSettingsRolesPaneRolesListItem::OnRoleUpdate));
m_name.set_ellipsize(Pango::ELLIPSIZE_END);
@@ -190,6 +182,15 @@ void GuildSettingsRolesPaneRolesListItem::UpdateItem(const RoleData &role) {
m_name.set_text(role.Name);
}
+void GuildSettingsRolesPaneRolesListItem::OnRoleUpdate(Snowflake guild_id, Snowflake role_id) {
+ if (guild_id != GuildID || role_id != RoleID) return;
+ const auto role = Abaddon::Get().GetDiscordClient().GetRole(RoleID);
+ if (!role.has_value()) return;
+ Position = role->Position;
+ UpdateItem(*role);
+ changed();
+}
+
GuildSettingsRolesPaneInfo::GuildSettingsRolesPaneInfo(Snowflake guild_id)
: GuildID(guild_id)
, m_layout(Gtk::ORIENTATION_VERTICAL)