Skip to content

Commit 2466c3c

Browse files
committed
fix: show Bambu splash screen on Linux instead of black window (2.8.0 re-apply) (#607)
Re-applies the splash fix from #162 which the 2.8.0 merge silently dropped (upstream changed the adjacent BBLSplashScreen constructor line, so the merge took upstream's block and lost our wxYield/Raise/Update change). Same change as #162, adapted to the new constructor arguments: unconditional wxYield() plus Raise/Update after creating the splash, and Refresh/Update after the first SetText so the status line actually paints before the heavy startup work. Closes #606 Verification plan: build this branch on the Jenkins Linux job, then cherry-pick onto both release candidates before tagging. (cherry picked from commit 901afec)
1 parent fc50944 commit 2466c3c

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/slic3r/GUI/GUI_App.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3180,10 +3180,18 @@ bool GUI_App::on_init_inner()
31803180
BOOST_LOG_TRIVIAL(info) << "begin to show the splash screen...";
31813181
//BBS use BBL splashScreen
31823182
scrn = new BBLSplashScreen(bmp, wxSPLASH_CENTRE_ON_SCREEN, 0, splashscreen_pos);
3183-
#ifndef __linux__
3183+
// Process pending paint events so the splash is drawn immediately on all
3184+
// platforms. Without this, GTK never paints the window before the heavy
3185+
// loading work begins, leaving a black window until the app is ready.
31843186
wxYield();
3185-
#endif
3187+
scrn->Raise();
3188+
scrn->Update();
31863189
scrn->SetText(_L("Loading configuration")+ dots);
3190+
// BBLSplashScreen::SetText() does not force a repaint on non-macOS.
3191+
// Refresh() + Update() ensure the first status line is visible before
3192+
// the heavy startup work begins.
3193+
scrn->Refresh();
3194+
scrn->Update();
31873195
}
31883196

31893197
BOOST_LOG_TRIVIAL(info) << "loading systen presets...";

0 commit comments

Comments
 (0)