mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 06:38:10 +00:00
SystemMenu: chdir to home directory before launching apps
This commit is contained in:
parent
a4497ce375
commit
e2b7e7c390
1 changed files with 8 additions and 1 deletions
|
@ -28,6 +28,7 @@
|
||||||
#include <AK/QuickSort.h>
|
#include <AK/QuickSort.h>
|
||||||
#include <LibCore/ConfigFile.h>
|
#include <LibCore/ConfigFile.h>
|
||||||
#include <LibCore/DirIterator.h>
|
#include <LibCore/DirIterator.h>
|
||||||
|
#include <LibCore/UserInfo.h>
|
||||||
#include <LibGUI/Action.h>
|
#include <LibGUI/Action.h>
|
||||||
#include <LibGUI/Application.h>
|
#include <LibGUI/Application.h>
|
||||||
#include <LibGUI/Desktop.h>
|
#include <LibGUI/Desktop.h>
|
||||||
|
@ -80,6 +81,11 @@ int main(int argc, char** argv)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (chdir(get_current_user_home_path().characters()) < 0) {
|
||||||
|
perror("chdir");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (unveil("/bin", "x")) {
|
if (unveil("/bin", "x")) {
|
||||||
perror("unveil");
|
perror("unveil");
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -150,7 +156,8 @@ NonnullRefPtr<GUI::Menu> build_system_menu()
|
||||||
dbg() << "Activated app with ID " << app_identifier;
|
dbg() << "Activated app with ID " << app_identifier;
|
||||||
if (fork() == 0) {
|
if (fork() == 0) {
|
||||||
const auto& bin = g_apps[app_identifier].executable;
|
const auto& bin = g_apps[app_identifier].executable;
|
||||||
execl(bin.characters(), bin.characters(), nullptr);
|
if (execl(bin.characters(), bin.characters(), nullptr) < 0)
|
||||||
|
perror("execl");
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue