Centralize canvas progress teardown

This commit is contained in:
2026-06-12 16:18:08 +02:00
parent b87927b456
commit 3be0f7468c
4 changed files with 16 additions and 7 deletions

View File

@@ -4,6 +4,7 @@
#include "app.h"
#include "legacy_gl_renderbuffer_dispatch.h"
#include "legacy_ui_gl_dispatch.h"
#include "legacy_ui_overlay_services.h"
#include "app_core/document_canvas.h"
#include "texture.h"
#include "node_progress_bar.h"
@@ -2205,7 +2206,7 @@ void Canvas::export_layers_thread(std::string path)
img.save_png(fmt::format("{}-layer{:02d}-{}.png", path, i, l->m_name));
pb->increment();
}
pb->destroy();
pp::panopainter::close_legacy_dialog_node(*pb);
}
void Canvas::export_anim_frames(std::string path, std::function<void()> on_complete)
@@ -2231,7 +2232,7 @@ void Canvas::export_anim_frames_thread(std::string path)
export_equirectangular_thread(fmt::format("{}-{:02d}.png", path, i));
pb->increment();
}
pb->destroy();
pp::panopainter::close_legacy_dialog_node(*pb);
}
void Canvas::export_anim_mp4(std::string path, std::function<void()> on_complete)
@@ -2270,7 +2271,7 @@ void Canvas::export_anim_mp4_thread(std::string path)
pb->increment();
}
mp4.write_mp4(path);
pb->destroy();
pp::panopainter::close_legacy_dialog_node(*pb);
}
void Canvas::export_cube_faces(std::string file_name, std::function<void()> on_complete)
@@ -2314,7 +2315,7 @@ void Canvas::export_cube_faces_thread(std::string file_name)
#endif
}
pb->destroy();
pp::panopainter::close_legacy_dialog_node(*pb);
#ifdef __OBJC__
static char name[128];
@@ -2615,7 +2616,7 @@ bool Canvas::project_save_thread(std::string file_path, bool show_progress)
if (post_commit_plan.dismisses_progress_ui)
{
pb->destroy();
pp::panopainter::close_legacy_dialog_node(*pb);
}
if (post_commit_plan.updates_title)
{
@@ -2845,7 +2846,7 @@ bool Canvas::project_open_thread(std::string file_path)
m_newdoc = false;
if (App::I->layout.m_loaded)
{
pb->destroy();
pp::panopainter::close_legacy_dialog_node(*pb);
App::I->ui_task([] {
App::I->title_update();
App::I->update_rec_frames();

View File

@@ -6,6 +6,7 @@
#include "asset.h"
#include "node_text.h"
#include "node_metadata.h"
#include "legacy_ui_overlay_services.h"
Node* NodeRemotePage::clone_instantiate() const
{
@@ -55,7 +56,7 @@ std::future<bool> NodeRemotePage::load_url(const std::string& url,
m_content->add_child_xml(std::string((char*)remote->m_data, (size_t)remote->m_len), "about");
if (auto meta = m_content->find<NodeMetadata>("metadata"))
m_page_id = std::stol(meta->m_props["page-id"]);
align->destroy();
pp::panopainter::destroy_legacy_node(*align);
}
else
{