Upload via GUI (39 Dateien)

This commit is contained in:
Git Manager GUI
2026-08-02 19:54:37 +02:00
parent eff6403dd5
commit 176d20ae7b

View File

@@ -90,13 +90,34 @@ let mainWindow = null;
const hatEinzelSperre = app.requestSingleInstanceLock();
if (!hatEinzelSperre) app.quit();
/*
* Instanz-Kennung aus den Startargumenten lesen.
*
* Wichtig: Bei einem zweiten Start sortiert Chromium die Argumente um
* alle Schalter wandern nach vorn, alles andere ans Ende. Aus
* --launch 1.21.11
* wird dabei
* --launch --allow-file-access-from-files <pfad> 1.21.11
* und die Kennung steht nicht mehr hinter ihrem Schalter. Deshalb wird die
* Form "--launch=<kennung>" verwendet: die bleibt ein einziges Argument.
*/
function instanzAusArgumenten(argv) {
const args = argv || [];
for (let i = 0; i < args.length; i++) {
const a = String(args[i]);
if (a === '--launch' && args[i + 1]) return String(args[i + 1]);
const args = (argv || []).map(String);
for (const a of args) {
if (a.startsWith('--launch=')) return a.slice('--launch='.length);
}
// Notnagel für Verknüpfungen aus früheren Fassungen (und den Aufruf von
// Hand): Steht "--launch" allein da, ist die Kennung durch das Umsortieren
// ans Ende gerutscht das letzte Argument, das kein Schalter ist.
if (args.includes('--launch')) {
const i = args.indexOf('--launch');
if (args[i + 1] && !args[i + 1].startsWith('-')) return args[i + 1];
for (let j = args.length - 1; j > 0; j--) {
if (!args[j].startsWith('-')) return args[j];
}
}
return null;
}
@@ -827,7 +848,9 @@ ipcMain.handle('instances:shortcut', (_e, id) => {
const ziel = verknuepfungsZiel();
const ok = shell.writeShortcutLink(datei, fs.existsSync(datei) ? 'replace' : 'create', {
target: ziel,
args: `--launch "${id}"`,
// Gleichheitsform, damit die Kennung beim Umsortieren durch Chromium
// an ihrem Schalter bleibt (siehe instanzAusArgumenten)
args: `--launch="${id}"`,
cwd: path.dirname(ziel),
description: 'AeroMC ' + inst.name,
icon: ziel,