[vte/vte-0-62] widget: Fix idle child-exited signal after dispose
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte/vte-0-62] widget: Fix idle child-exited signal after dispose
- Date: Wed, 23 Dec 2020 17:55:00 +0000 (UTC)
commit fbc27f8cf06797f5a5f0b5013c017d7163db7e4a
Author: Christian Persch <chpe src gnome org>
Date: Wed Dec 23 18:53:33 2020 +0100
widget: Fix idle child-exited signal after dispose
Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/322
(cherry picked from commit 69f941dbe2a6df6513ec7f0cce6fbded20257beb)
src/vte.cc | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index 2614e5b4..840dcc56 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -784,12 +784,17 @@ Terminal::emit_eof()
static gboolean
emit_eof_idle_cb(VteTerminal *terminal)
+try
{
_vte_terminal_get_impl(terminal)->emit_eof();
- // @terminal might be destroyed at this point
return G_SOURCE_REMOVE;
}
+catch (...)
+{
+ vte::log_exception();
+ return G_SOURCE_REMOVE;
+}
void
Terminal::queue_eof()
@@ -814,12 +819,17 @@ Terminal::emit_child_exited()
static gboolean
emit_child_exited_idle_cb(VteTerminal *terminal)
+try
{
_vte_terminal_get_impl(terminal)->emit_child_exited();
- // @terminal might be destroyed at this point
return G_SOURCE_REMOVE;
}
+catch (...)
+{
+ vte::log_exception();
+ return G_SOURCE_REMOVE;
+}
/* Emit a "child-exited" signal on idle, so that if the handler destroys
* the terminal, we're not deep within terminal code callstack
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]