diff options
Diffstat (limited to 'gui/action.cpp')
-rw-r--r-- | gui/action.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gui/action.cpp b/gui/action.cpp index aafcd2ed4..86907a54f 100644 --- a/gui/action.cpp +++ b/gui/action.cpp @@ -1798,6 +1798,7 @@ int GUIAction::mountsystemtoggle(std::string arg) { int op_status = 0; bool remount_system = PartitionManager.Is_Mounted_By_Path("/system"); + bool remount_vendor = PartitionManager.Is_Mounted_By_Path("/vendor"); operation_start("Toggle System Mount"); if (!PartitionManager.UnMount_By_Path("/system", true)) { @@ -1819,6 +1820,20 @@ int GUIAction::mountsystemtoggle(std::string arg) } else { op_status = 1; // fail } + Part = PartitionManager.Find_Partition_By_Path("/vendor"); + if (Part) { + if (arg == "0") { + Part->Change_Mount_Read_Only(false); + } else { + Part->Change_Mount_Read_Only(true); + } + if (remount_vendor) { + Part->Mount(true); + } + op_status = 0; // success + } else { + op_status = 1; // fail + } } operation_end(op_status); |