UI: Force current scene when using undo/redo
The undo/redo functions are setting the current scene. Everytime it would do this, it would actually transition to the scene. This forces the current scene, so it fixes a bug where the transition would be grayed out when undoing/redoing.master
parent
c370692773
commit
7dfd36f9e8
|
@ -62,7 +62,7 @@ void SourceToolbar::SetUndoProperties(obs_source_t *source)
|
|||
|
||||
obs_source_t *scene_source =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
main->SetCurrentScene(scene_source);
|
||||
main->SetCurrentScene(scene_source, true);
|
||||
obs_source_release(scene_source);
|
||||
|
||||
obs_data_release(settings);
|
||||
|
|
|
@ -413,7 +413,7 @@ void SourceTreeItem::ExitEditMode(bool save)
|
|||
|
||||
obs_source_t *scene_source =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
main->SetCurrentScene(scene_source);
|
||||
main->SetCurrentScene(scene_source, true);
|
||||
obs_source_release(scene_source);
|
||||
};
|
||||
|
||||
|
@ -424,7 +424,7 @@ void SourceTreeItem::ExitEditMode(bool save)
|
|||
|
||||
obs_source_t *scene_source =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
main->SetCurrentScene(scene_source);
|
||||
main->SetCurrentScene(scene_source, true);
|
||||
obs_source_release(scene_source);
|
||||
};
|
||||
|
||||
|
|
|
@ -575,7 +575,7 @@ void OBSBasicFilters::AddNewFilter(const char *id)
|
|||
obs_source_t *ssource =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
reinterpret_cast<OBSBasic *>(App()->GetMainWindow())
|
||||
->SetCurrentScene(ssource);
|
||||
->SetCurrentScene(ssource, true);
|
||||
obs_source_release(ssource);
|
||||
|
||||
obs_data_t *dat =
|
||||
|
@ -599,7 +599,7 @@ void OBSBasicFilters::AddNewFilter(const char *id)
|
|||
obs_source_t *ssource =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
reinterpret_cast<OBSBasic *>(App()->GetMainWindow())
|
||||
->SetCurrentScene(ssource);
|
||||
->SetCurrentScene(ssource, true);
|
||||
obs_source_release(ssource);
|
||||
|
||||
obs_data_t *dat =
|
||||
|
@ -829,7 +829,7 @@ void OBSBasicFilters::on_removeEffectFilter_clicked()
|
|||
scene_name.c_str());
|
||||
reinterpret_cast<OBSBasic *>(
|
||||
App()->GetMainWindow())
|
||||
->SetCurrentScene(ssource);
|
||||
->SetCurrentScene(ssource, true);
|
||||
obs_source_release(ssource);
|
||||
|
||||
obs_data_t *dat =
|
||||
|
@ -854,7 +854,7 @@ void OBSBasicFilters::on_removeEffectFilter_clicked()
|
|||
scene_name.c_str());
|
||||
reinterpret_cast<OBSBasic *>(
|
||||
App()->GetMainWindow())
|
||||
->SetCurrentScene(ssource);
|
||||
->SetCurrentScene(ssource, true);
|
||||
obs_source_release(ssource);
|
||||
|
||||
obs_data_t *dat =
|
||||
|
@ -1134,7 +1134,7 @@ void OBSBasicFilters::FilterNameEdited(QWidget *editor, QListWidget *list)
|
|||
obs_source_t *ssource =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
reinterpret_cast<OBSBasic *>(App()->GetMainWindow())
|
||||
->SetCurrentScene(ssource);
|
||||
->SetCurrentScene(ssource, true);
|
||||
obs_source_release(ssource);
|
||||
|
||||
obs_source_t *source =
|
||||
|
@ -1151,7 +1151,7 @@ void OBSBasicFilters::FilterNameEdited(QWidget *editor, QListWidget *list)
|
|||
obs_source_t *ssource =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
reinterpret_cast<OBSBasic *>(App()->GetMainWindow())
|
||||
->SetCurrentScene(ssource);
|
||||
->SetCurrentScene(ssource, true);
|
||||
obs_source_release(ssource);
|
||||
|
||||
obs_source_t *source =
|
||||
|
|
|
@ -3739,7 +3739,7 @@ void OBSBasic::RemoveSelectedScene()
|
|||
|
||||
obs_source_t *scene_source = sources.back();
|
||||
OBSScene scene = obs_scene_from_source(scene_source);
|
||||
SetCurrentScene(scene);
|
||||
SetCurrentScene(scene, true);
|
||||
|
||||
/* set original index in list box */
|
||||
ui->scenes->blockSignals(true);
|
||||
|
@ -4927,7 +4927,7 @@ void OBSBasic::on_actionAddScene_triggered()
|
|||
auto redo_fn = [this](const std::string &data) {
|
||||
obs_scene_t *scene = obs_scene_create(data.c_str());
|
||||
obs_source_t *source = obs_scene_get_source(scene);
|
||||
SetCurrentScene(source);
|
||||
SetCurrentScene(source, true);
|
||||
obs_scene_release(scene);
|
||||
};
|
||||
undo_s.add_action(QTStr("Undo.Add").arg(QString(name.c_str())),
|
||||
|
@ -7155,7 +7155,7 @@ void undo_redo(const std::string &data)
|
|||
obs_source_t *source =
|
||||
obs_get_source_by_name(obs_data_get_string(dat, "scene_name"));
|
||||
reinterpret_cast<OBSBasic *>(App()->GetMainWindow())
|
||||
->SetCurrentScene(source);
|
||||
->SetCurrentScene(source, true);
|
||||
obs_source_release(source);
|
||||
obs_data_release(dat);
|
||||
|
||||
|
|
|
@ -730,7 +730,7 @@ void OBSBasicPreview::mouseReleaseEvent(QMouseEvent *event)
|
|||
obs_source_t *source = obs_get_source_by_name(
|
||||
obs_data_get_string(dat, "scene_name"));
|
||||
reinterpret_cast<OBSBasic *>(App()->GetMainWindow())
|
||||
->SetCurrentScene(source);
|
||||
->SetCurrentScene(source, true);
|
||||
obs_source_release(source);
|
||||
obs_data_release(dat);
|
||||
|
||||
|
|
|
@ -375,7 +375,7 @@ void OBSBasicProperties::on_buttonBox_clicked(QAbstractButton *button)
|
|||
obs_source_t *scene_source =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
|
||||
OBSBasic::Get()->SetCurrentScene(source);
|
||||
OBSBasic::Get()->SetCurrentScene(source, true);
|
||||
|
||||
obs_source_release(scene_source);
|
||||
|
||||
|
|
|
@ -252,7 +252,7 @@ void OBSBasicSourceSelect::on_buttonBox_accepted()
|
|||
|
||||
obs_source_t *scene_source =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
main->SetCurrentScene(scene_source);
|
||||
main->SetCurrentScene(scene_source, true);
|
||||
obs_source_release(scene_source);
|
||||
|
||||
main->RefreshSources(main->GetCurrentScene());
|
||||
|
@ -282,7 +282,7 @@ void OBSBasicSourceSelect::on_buttonBox_accepted()
|
|||
|
||||
obs_source_t *scene_source =
|
||||
obs_get_source_by_name(scene_name.c_str());
|
||||
main->SetCurrentScene(scene_source);
|
||||
main->SetCurrentScene(scene_source, true);
|
||||
obs_source_release(scene_source);
|
||||
|
||||
main->RefreshSources(main->GetCurrentScene());
|
||||
|
|
|
@ -92,7 +92,7 @@ OBSBasicTransform::~OBSBasicTransform()
|
|||
obs_source_t *source = obs_get_source_by_name(
|
||||
obs_data_get_string(dat, "scene_name"));
|
||||
reinterpret_cast<OBSBasic *>(App()->GetMainWindow())
|
||||
->SetCurrentScene(source);
|
||||
->SetCurrentScene(source, true);
|
||||
obs_source_release(source);
|
||||
obs_data_release(dat);
|
||||
obs_scene_load_transform_states(data.c_str());
|
||||
|
|
Loading…
Reference in New Issue