Skip to content

Commit e0917a3

Browse files
committed
Fix function priorities not being saved
1 parent 686b00f commit e0917a3

File tree

3 files changed

+34
-11
lines changed

3 files changed

+34
-11
lines changed

src/general.cpp

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -577,17 +577,7 @@ void SwitcherData::SaveGeneralSettings(obs_data_t *obj)
577577
obs_data_set_bool(obj, "warnPluginLoadFailure", warnPluginLoadFailure);
578578
obs_data_set_bool(obj, "hideLegacyTabs", hideLegacyTabs);
579579

580-
obs_data_set_int(obj, "priority0", functionNamesByPriority[0]);
581-
obs_data_set_int(obj, "priority1", functionNamesByPriority[1]);
582-
obs_data_set_int(obj, "priority2", functionNamesByPriority[2]);
583-
obs_data_set_int(obj, "priority3", functionNamesByPriority[3]);
584-
obs_data_set_int(obj, "priority4", functionNamesByPriority[4]);
585-
obs_data_set_int(obj, "priority5", functionNamesByPriority[5]);
586-
obs_data_set_int(obj, "priority6", functionNamesByPriority[6]);
587-
obs_data_set_int(obj, "priority7", functionNamesByPriority[7]);
588-
obs_data_set_int(obj, "priority8", functionNamesByPriority[8]);
589-
obs_data_set_int(obj, "priority9", functionNamesByPriority[9]);
590-
obs_data_set_int(obj, "priority10", functionNamesByPriority[10]);
580+
SaveFunctionPriorities(obj, functionNamesByPriority);
591581

592582
obs_data_set_int(obj, "threadPriority", threadPriority);
593583

@@ -638,6 +628,7 @@ void SwitcherData::LoadGeneralSettings(obs_data_t *obj)
638628
hideLegacyTabs = obs_data_get_bool(obj, "hideLegacyTabs");
639629

640630
SetDefaultFunctionPriorities(obj);
631+
LoadFunctionPriorities(obj, functionNamesByPriority);
641632
if (!PrioFuncsValid()) {
642633
functionNamesByPriority = GetDefaultFunctionPriorityList();
643634
}

src/utils/priority-helper.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,36 @@ void SetDefaultFunctionPriorities(obs_data_t *obj)
5151
obs_data_set_default_int(obj, "priority10", default_priority_10);
5252
}
5353

54+
void SaveFunctionPriorities(obs_data_t *obj, std::vector<int> &funcs)
55+
{
56+
obs_data_set_int(obj, "priority0", funcs[0]);
57+
obs_data_set_int(obj, "priority1", funcs[1]);
58+
obs_data_set_int(obj, "priority2", funcs[2]);
59+
obs_data_set_int(obj, "priority3", funcs[3]);
60+
obs_data_set_int(obj, "priority4", funcs[4]);
61+
obs_data_set_int(obj, "priority5", funcs[5]);
62+
obs_data_set_int(obj, "priority6", funcs[6]);
63+
obs_data_set_int(obj, "priority7", funcs[7]);
64+
obs_data_set_int(obj, "priority8", funcs[8]);
65+
obs_data_set_int(obj, "priority9", funcs[9]);
66+
obs_data_set_int(obj, "priority10", funcs[10]);
67+
}
68+
69+
void LoadFunctionPriorities(obs_data_t *obj, std::vector<int> &funcs)
70+
{
71+
funcs[0] = (obs_data_get_int(obj, "priority0"));
72+
funcs[1] = (obs_data_get_int(obj, "priority1"));
73+
funcs[2] = (obs_data_get_int(obj, "priority2"));
74+
funcs[3] = (obs_data_get_int(obj, "priority3"));
75+
funcs[4] = (obs_data_get_int(obj, "priority4"));
76+
funcs[5] = (obs_data_get_int(obj, "priority5"));
77+
funcs[6] = (obs_data_get_int(obj, "priority6"));
78+
funcs[7] = (obs_data_get_int(obj, "priority7"));
79+
funcs[8] = (obs_data_get_int(obj, "priority8"));
80+
funcs[9] = (obs_data_get_int(obj, "priority9"));
81+
funcs[10] = (obs_data_get_int(obj, "priority10"));
82+
}
83+
5484
std::vector<int> GetDefaultFunctionPriorityList()
5585
{
5686
return {default_priority_0, default_priority_1, default_priority_2,

src/utils/priority-helper.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ struct ThreadPrio {
1414

1515
std::vector<int> GetDefaultFunctionPriorityList();
1616
void SetDefaultFunctionPriorities(obs_data_t *);
17+
void SaveFunctionPriorities(obs_data_t *, std::vector<int> &);
18+
void LoadFunctionPriorities(obs_data_t *, std::vector<int> &);
1719
std::vector<ThreadPrio> GetThreadPrioMapping();
1820

1921
} // namespace advss

0 commit comments

Comments
 (0)