From 92ee58bcb1b3eeba2527271896cae6dad66cd11d Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= jaakko.keranen@iki.fi

Date: Fri, 19 Aug 2022 14:26:06 +0300

Subject: [PATCH 1/1] macOS: Fixed crash when opening URL via system handler

IssueID #525

Conflicts:

res/about/version.gmi


res/about/version.gmi | 1 +

src/app.c | 18 ++++++++++++++++--

src/app.h | 2 +-

3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/res/about/version.gmi b/res/about/version.gmi

index c7ec17a3..8e05e71f 100644

--- a/res/about/version.gmi

+++ b/res/about/version.gmi

@@ -8,6 +8,7 @@

1.13.8

+* macOS: Fixed crash when opening URLs via system handler when no windows open.

1.13.7

diff --git a/src/app.c b/src/app.c

index ad9eb46b..94462763 100644

--- a/src/app.c

+++ b/src/app.c

@@ -182,6 +182,8 @@ struct Impl_App {

static iApp app_;

+static iBool handleNonWindowRelatedCommand_App_(iApp *d, const char *cmd);

/----------------------------------------------------------------------------------------------/

iDeclareType(Ticker)

@@ -1578,11 +1580,18 @@ void processEvents_App(enum iAppEventMode eventMode) {

             d->isSuspended = iTrue;

             break;

         case SDL_APP_TERMINATING:

             savePrefs_App_(d);

             saveState_App_(d);

             break;

         case SDL_DROPFILE: {

             iBool wasUsed = processEvent_Window(as_Window(d->window), &ev);

             if (!wasUsed) {

                 iBool newTab = iFalse;

@@ -2249,12 +2258,14 @@ size_t windowIndex_App(const iMainWindow *win) {

 return indexOf_PtrArray(&app_.mainWindows, win); 

}

+#if 0

iMainWindow *newMainWindow_App(void) {

 iApp *d = &app_;

 iMainWindow *win = new_MainWindow(initialWindowRect_App_(d, size_PtrArray(&d->mainWindows)));

 addWindow_App(win);

 return win;

}

+#endif

const iPtrArray *mainWindows_App(void) {

 return &app_.mainWindows;

@@ -3249,7 +3260,10 @@ static iBool handleNonWindowRelatedCommand_App_(iApp *d, const char *cmd) {

         loadState_App_(d);

     }

     if (hasLabel_Command(cmd, "url")) {

     }

     else {

         postCommand_Root(newWin->base.roots[0], "~navigate.home");

diff --git a/src/app.h b/src/app.h

index fffa304d..137f07cb 100644

--- a/src/app.h

+++ b/src/app.h

@@ -134,7 +134,7 @@ void setActiveWindow_App (iMainWindow *win);

void closeWindow_App (iMainWindow *win);

size_t numWindows_App (void);

size_t windowIndex_App (const iMainWindow *win);

-iMainWindow *newMainWindow_App (void);

+//iMainWindow *newMainWindow_App (void);

const iPtrArray *mainWindows_App(void);

iMainWindow * mainWindow_App (void); /* currently active main window */

void addPopup_App (iWindow *popup);

--

2.25.1

Proxy Information
Original URL
gemini://git.skyjake.fi/lagrange/release/patch/92ee58bcb1b3eeba2527271896cae6dad66cd11d.patch
Status Code
Success (20)
Meta
text/plain
Capsule Response Time
78.633437 milliseconds
Gemini-to-HTML Time
1.809069 milliseconds

This content has been proxied by September (3851b).