mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-19 17:49:14 +00:00
UI: Fix always on top w/ projectors on Linux
Apparently, on Linux, you cannot update the window flags while it is still open, so just close the projectors and reopen them again when the setting changes.
This commit is contained in:
parent
27f913843a
commit
227f80ac48
|
@ -8269,6 +8269,15 @@ void OBSBasic::UpdateProjectorAlwaysOnTop(bool top)
|
|||
SetAlwaysOnTop(projectors[i], top);
|
||||
}
|
||||
|
||||
void OBSBasic::ResetProjectors()
|
||||
{
|
||||
obs_data_array_t *savedProjectorList = SaveProjectors();
|
||||
ClearProjectors();
|
||||
LoadSavedProjectors(savedProjectorList);
|
||||
OpenSavedProjectors();
|
||||
obs_data_array_release(savedProjectorList);
|
||||
}
|
||||
|
||||
void OBSBasic::on_sourcePropertiesButton_clicked()
|
||||
{
|
||||
on_actionSourceProperties_triggered();
|
||||
|
|
|
@ -531,6 +531,7 @@ private:
|
|||
|
||||
void UpdateProjectorHideCursor();
|
||||
void UpdateProjectorAlwaysOnTop(bool top);
|
||||
void ResetProjectors();
|
||||
|
||||
QPointer<QObject> screenshotData;
|
||||
|
||||
|
|
|
@ -2958,8 +2958,12 @@ void OBSBasicSettings::SaveGeneralSettings()
|
|||
config_set_bool(GetGlobalConfig(), "BasicWindow",
|
||||
"ProjectorAlwaysOnTop",
|
||||
ui->projectorAlwaysOnTop->isChecked());
|
||||
#if defined(_WIN32) || defined(__APPLE__)
|
||||
main->UpdateProjectorAlwaysOnTop(
|
||||
ui->projectorAlwaysOnTop->isChecked());
|
||||
#else
|
||||
main->ResetProjectors();
|
||||
#endif
|
||||
}
|
||||
|
||||
if (WidgetChanged(ui->recordWhenStreaming))
|
||||
|
|
Loading…
Reference in a new issue