|
@@ -122,6 +122,18 @@ bool XDGUtil(const std::vector<std::string>& argv,
|
|
|
// bring up a new terminal if necessary. See "man mailcap".
|
|
|
options.environment["MM_NOTTTY"] = "1";
|
|
|
|
|
|
+ // If the user set a GDK_BACKEND value of their own, use that,
|
|
|
+ // otherwise unset it becuase Chromium is setting GDK_BACKEND
|
|
|
+ // during GTK initialization and we want to respect user preference.
|
|
|
+ // Setting values in EnvironmentMap to an empty-string
|
|
|
+ // will make sure that they get unset from the environment via
|
|
|
+ // AlterEnvironment().
|
|
|
+ const absl::optional<std::string>& gdk_backend =
|
|
|
+ electron::ElectronBrowserMainParts::GetGDKBackend();
|
|
|
+ options.environment["GDK_BACKEND"] = gdk_backend.has_value()
|
|
|
+ ? gdk_backend.value().c_str()
|
|
|
+ : base::NativeEnvironmentString();
|
|
|
+
|
|
|
base::Process process = base::LaunchProcess(argv, options);
|
|
|
if (!process.IsValid())
|
|
|
return false;
|