hmm, there's already a related comment in `src/vte.c:vte_close()` about crashes
on FreeBSD.
Okay, trying the hard way by blocking `vte_start` completely if `vte_close` is
running:
```c
--- geany-1.36.orig/src/vte.c
+++ geany-1.36/src/vte.c
@@ -393,9 +393,10 @@ static void create_vte(void)
g_signal_connect_after(vte, "realize", G_CALLBACK(on_vte_realize),
NULL);
}
-
+static int vte_closing;
void vte_close(void)
{
+ vte_closing = 1;
g_free(vf);
/* free the vte widget before unloading vte module
* this prevents a segfault on X close window if the message window is
hidden */
@@ -485,6 +486,8 @@ static void vte_commit_cb(VteTerminal *v
static void vte_start(GtkWidget *widget)
{
+ if (0 < vte_closing)
+ return;
/* split the shell command line, so arguments will work too */
gchar **argv = g_strsplit(vc->shell, " ", -1);
```
Building and publishing the RPM on
[OBS](https://build.opensuse.org/package/show/home:berny:branches:GNOME:Apps/geany)
takes a while ...
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2457#issuecomment-611220910