mirror of
https://github.com/RetroDECK/org.zdoom.GZDoom.git
synced 2024-11-27 08:05:40 +00:00
Merge pull request #12 from flathub/KdeRemoveFix
Fix by removing kdialog reference
This commit is contained in:
commit
86ffcf1f43
98
kde.patch
Normal file
98
kde.patch
Normal file
|
@ -0,0 +1,98 @@
|
|||
diff --git a/src/posix/sdl/crashcatcher.c b/src/posix/sdl/crashcatcher.c
|
||||
index be0e8f599..e52e7f3c1 100644
|
||||
--- a/src/posix/sdl/crashcatcher.c
|
||||
+++ b/src/posix/sdl/crashcatcher.c
|
||||
@@ -366,9 +366,7 @@ static void crash_handler(const char *logfile)
|
||||
const char *str;
|
||||
char buf[512];
|
||||
|
||||
- if((str=getenv("KDE_FULL_SESSION")) && strcmp(str, "true") == 0)
|
||||
- snprintf(buf, sizeof(buf), "kdialog --title \"Very Fatal Error\" --textbox \"%s\" 800 600", logfile);
|
||||
- else if((str=getenv("GNOME_DESKTOP_SESSION_ID")) && str[0] != '\0')
|
||||
+ if((str=getenv("GNOME_DESKTOP_SESSION_ID")) && str[0] != '\0')
|
||||
snprintf(buf, sizeof(buf), "gxmessage -buttons \"Okay:0\" -geometry 800x600 -title \"Very Fatal Error\" -center -file \"%s\"", logfile);
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "xmessage -buttons \"Okay:0\" -center -file \"%s\"", logfile);
|
||||
diff --git a/src/posix/sdl/i_system.cpp b/src/posix/sdl/i_system.cpp
|
||||
index f96d15686..f70bd7587 100644
|
||||
--- a/src/posix/sdl/i_system.cpp
|
||||
+++ b/src/posix/sdl/i_system.cpp
|
||||
@@ -113,16 +113,9 @@ void Linux_I_FatalError(const char* errortext)
|
||||
// Close window or exit fullscreen and release mouse capture
|
||||
SDL_Quit();
|
||||
|
||||
- const char *str;
|
||||
- if((str=getenv("KDE_FULL_SESSION")) && strcmp(str, "true") == 0)
|
||||
- {
|
||||
- FString cmd;
|
||||
- cmd << "kdialog --title \"" GAMENAME " " << GetVersionString()
|
||||
- << "\" --msgbox \"" << errortext << "\"";
|
||||
- popen(cmd, "r");
|
||||
- }
|
||||
+
|
||||
#ifndef NO_GTK
|
||||
- else if (I_GtkAvailable())
|
||||
+ if (I_GtkAvailable())
|
||||
{
|
||||
I_ShowFatalError_Gtk(errortext);
|
||||
}
|
||||
@@ -196,59 +189,6 @@ int I_PickIWad (WadStuff *wads, int numwads, bool showwin, int defaultiwad)
|
||||
return defaultiwad;
|
||||
}
|
||||
|
||||
-#ifndef __APPLE__
|
||||
- const char *str;
|
||||
- if((str=getenv("KDE_FULL_SESSION")) && strcmp(str, "true") == 0)
|
||||
- {
|
||||
- FString cmd("kdialog --title \"" GAMENAME " ");
|
||||
- cmd << GetVersionString() << ": Select an IWAD to use\""
|
||||
- " --menu \"" GAMENAME " found more than one IWAD\n"
|
||||
- "Select from the list below to determine which one to use:\"";
|
||||
-
|
||||
- for(i = 0; i < numwads; ++i)
|
||||
- {
|
||||
- const char *filepart = strrchr(wads[i].Path, '/');
|
||||
- if(filepart == NULL)
|
||||
- filepart = wads[i].Path;
|
||||
- else
|
||||
- filepart++;
|
||||
- // Menu entries are specified in "tag" "item" pairs, where when a
|
||||
- // particular item is selected (and the Okay button clicked), its
|
||||
- // corresponding tag is printed to stdout for identification.
|
||||
- cmd.AppendFormat(" \"%d\" \"%s (%s)\"", i, wads[i].Name.GetChars(), filepart);
|
||||
- }
|
||||
-
|
||||
- if(defaultiwad >= 0 && defaultiwad < numwads)
|
||||
- {
|
||||
- const char *filepart = strrchr(wads[defaultiwad].Path, '/');
|
||||
- if(filepart == NULL)
|
||||
- filepart = wads[defaultiwad].Path;
|
||||
- else
|
||||
- filepart++;
|
||||
- cmd.AppendFormat(" --default \"%s (%s)\"", wads[defaultiwad].Name.GetChars(), filepart);
|
||||
- }
|
||||
-
|
||||
- FILE *f = popen(cmd, "r");
|
||||
- if(f != NULL)
|
||||
- {
|
||||
- char gotstr[16];
|
||||
-
|
||||
- if(fgets(gotstr, sizeof(gotstr), f) == NULL ||
|
||||
- sscanf(gotstr, "%d", &i) != 1)
|
||||
- i = -1;
|
||||
-
|
||||
- // Exit status = 1 means the selection was canceled (either by
|
||||
- // Cancel/Esc or the X button), not that there was an error running
|
||||
- // the program. In that case, nothing was printed so fgets will
|
||||
- // have failed. Other values can indicate an error running the app,
|
||||
- // so fall back to whatever else can be used.
|
||||
- int status = pclose(f);
|
||||
- if(WIFEXITED(status) && (WEXITSTATUS(status) == 0 || WEXITSTATUS(status) == 1))
|
||||
- return i;
|
||||
- }
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
#ifndef NO_GTK
|
||||
if (I_GtkAvailable())
|
||||
{
|
|
@ -14,8 +14,7 @@ finish-args:
|
|||
- --socket=pulseaudio
|
||||
|
||||
# Based on GZDoom
|
||||
# We access the original ~/.config/gzdoom because
|
||||
# that is where users will most likely have their iwads
|
||||
# We redirect the original ~/.config/gzdoom
|
||||
- --env=DOOMWADDIR=/app/share/games/doom
|
||||
- --persist=.config/gzdoom
|
||||
|
||||
|
@ -54,8 +53,12 @@ modules:
|
|||
- type: file
|
||||
url: https://github.com/coelckers/gzdoom/raw/g4.3.3/soundfont/gzdoom.sf2
|
||||
sha256: fca3e514b635a21789d4224e84865d2954a2a914d46b64aa8219ddb565c44869
|
||||
# I've discussed these patches upstream and a special -DFLATPAK_BUNDLE has been approved
|
||||
# https://forum.zdoom.org/viewtopic.php?f=15&t=68365&sid=884a41102b499f98ed9c76a62ee0e41d
|
||||
- type: patch
|
||||
path: description.patch
|
||||
- type: patch
|
||||
path: kde.patch
|
||||
- type: shell
|
||||
commands:
|
||||
- install -Dm 644 gzdoom.sf2 /app/share/sounds/sf2/gzdoom.sf2
|
||||
|
|
Loading…
Reference in a new issue