summaryrefslogtreecommitdiff
path: root/src/windows/guildsettings
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows/guildsettings')
-rw-r--r--src/windows/guildsettings/memberspane.cpp7
-rw-r--r--src/windows/guildsettings/rolespane.cpp25
2 files changed, 17 insertions, 15 deletions
diff --git a/src/windows/guildsettings/memberspane.cpp b/src/windows/guildsettings/memberspane.cpp
index 9dc76d3..bda92b4 100644
--- a/src/windows/guildsettings/memberspane.cpp
+++ b/src/windows/guildsettings/memberspane.cpp
@@ -238,9 +238,10 @@ GuildSettingsMembersPaneRoles::GuildSettingsMembersPaneRoles(Snowflake guild_id)
discord.signal_role_delete().connect(sigc::mem_fun(*this, &GuildSettingsMembersPaneRoles::OnRoleDelete));
const auto guild = *discord.GetGuild(guild_id);
- const auto roles = guild.FetchRoles();
- for (const auto &role : roles) {
- CreateRow(can_modify, role, guild.OwnerID == self_id);
+ if (guild.Roles.has_value()) {
+ for (const auto &role : *guild.Roles) {
+ CreateRow(can_modify, role, guild.OwnerID == self_id);
+ }
}
m_list.set_sort_func([this](Gtk::ListBoxRow *a, Gtk::ListBoxRow *b) -> int {
diff --git a/src/windows/guildsettings/rolespane.cpp b/src/windows/guildsettings/rolespane.cpp
index 8d355ee..3567e95 100644
--- a/src/windows/guildsettings/rolespane.cpp
+++ b/src/windows/guildsettings/rolespane.cpp
@@ -79,19 +79,20 @@ GuildSettingsRolesPaneRoles::GuildSettingsRolesPaneRoles(Snowflake guild_id)
discord.signal_role_delete().connect(sigc::mem_fun(*this, &GuildSettingsRolesPaneRoles::OnRoleDelete));
const auto guild = *discord.GetGuild(GuildID);
- const auto roles = guild.FetchRoles();
const bool can_modify = discord.HasGuildPermission(discord.GetUserData().ID, GuildID, Permission::MANAGE_ROLES);
- for (const auto &role : roles) {
- auto *row = Gtk::manage(new GuildSettingsRolesPaneRolesListItem(guild, role));
- row->drag_source_set(g_target_entries, Gdk::BUTTON1_MASK, Gdk::ACTION_MOVE);
- row->set_margin_start(5);
- row->set_halign(Gtk::ALIGN_FILL);
- row->show();
- m_rows[role.ID] = row;
- if (can_modify)
- m_list.add_draggable(row);
- else
- m_list.add(*row);
+ if (guild.Roles.has_value()) {
+ for (const auto &role : *guild.Roles) {
+ auto *row = Gtk::manage(new GuildSettingsRolesPaneRolesListItem(guild, role));
+ row->drag_source_set(g_target_entries, Gdk::BUTTON1_MASK, Gdk::ACTION_MOVE);
+ row->set_margin_start(5);
+ row->set_halign(Gtk::ALIGN_FILL);
+ row->show();
+ m_rows[role.ID] = row;
+ if (can_modify)
+ m_list.add_draggable(row);
+ else
+ m_list.add(*row);
+ }
}
m_list.set_sort_func([this](Gtk::ListBoxRow *rowa_, Gtk::ListBoxRow *rowb_) -> int {