From c73affb3dcef80576b13919437d466a1115bfb3b Mon Sep 17 00:00:00 2001 From: Jasper Homann Date: Fri, 7 Aug 2026 12:34:55 +0200 Subject: [PATCH] Only delete old context after emitting context changed wiht new context when inporting json --- gui/basewindow.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gui/basewindow.cc b/gui/basewindow.cc index 753b0a80..17e82082 100644 --- a/gui/basewindow.cc +++ b/gui/basewindow.cc @@ -369,13 +369,14 @@ void BaseMainWindow::open_json() disableActions(); if (ctx->settings.find(ctx->id("synth")) == ctx->settings.end()) { ArchArgs chipArgs = ctx->args; - ctx = std::unique_ptr(new Context(chipArgs)); + std::unique_ptr new_ctx = std::unique_ptr(new Context(chipArgs)); #ifdef ARCH_HIMBAECHEL - ctx->uarch->with_gui = true; - ctx->uarch->init(ctx.get()); - ctx->late_init(); + new_ctx->uarch->with_gui = true; + new_ctx->uarch->init(new_ctx.get()); + new_ctx->late_init(); #endif - Q_EMIT contextChanged(ctx.get()); + Q_EMIT contextChanged(new_ctx.get()); + ctx = std::move(new_ctx); } handler->load_json(ctx.get(), fileName.toStdString()); Q_EMIT updateTreeView();