delay ksplash until after env is set up

otherwise we can dbus invoke with the wrong environment. specifically
this happens with the latest qtbase changes that introduced color
picking support on wayland. when we start a qguiapplication with
incomplete environment that dbus invokes the xdg-portal system and that
in turn has an incomplete environment resulting in theming and the likes
not properly applying because the portal doesn't know that it runs
inside a plasma session.

2dc083df00

BUG: 458865
wilder-5.26
Harald Sitter 4 years ago
parent 5ee6a0e9c9
commit 9bf0e56da8
  1. 10
      startkde/startplasma-x11.cpp

@ -57,10 +57,6 @@ int main(int argc, char **argv)
}
}
setupCursor(false);
std::unique_ptr<QProcess, KillBeforeDeleter> ksplash(setupKSplash());
Q_UNUSED(ksplash)
runEnvironmentScripts();
out << "startkde: Starting up...\n";
@ -80,6 +76,12 @@ int main(int argc, char **argv)
// variables (e.g. LANG and LC_*)
importSystemdEnvrionment();
// NOTE: Do not start QGuiApplications before setting up the environment. We'd be at risk of dbus invoking other
// processes with an incomplete environment.
setupCursor(false);
std::unique_ptr<QProcess, KillBeforeDeleter> ksplash(setupKSplash());
Q_UNUSED(ksplash)
if (!startPlasmaSession(false))
return 1;

Loading…
Cancel
Save