diff options
Diffstat (limited to 'x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch')
| -rw-r--r-- | x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch b/x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch new file mode 100644 index 00000000..b4cc9673 --- /dev/null +++ b/x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch @@ -0,0 +1,108 @@ +expose functions for pausing/unpausing output + +From: Daniel Micay <danielmicay@gmail.com> + + +--- + src/vte.cc | 21 +++++++++++---------- + src/vte/vteterminal.h | 4 ++++ + 2 files changed, 15 insertions(+), 10 deletions(-) + +diff --git a/src/vte.cc b/src/vte.cc +index 701891b..af75d2d 100644 +--- a/src/vte.cc ++++ b/src/vte.cc +@@ -127,7 +127,6 @@ static char *vte_terminal_get_text_maybe_wrapped(VteTerminal *terminal, + gpointer data, + GArray *attributes, + gboolean include_trailing_spaces); +-static void _vte_terminal_disconnect_pty_read(VteTerminal *terminal); + static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal); + static void vte_terminal_stop_processing (VteTerminal *terminal); + +@@ -3349,9 +3348,10 @@ static void mark_input_source_invalid(VteTerminal *terminal) + _vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n"); + terminal->pvt->pty_input_source = 0; + } +-static void +-_vte_terminal_connect_pty_read(VteTerminal *terminal) ++void ++vte_terminal_connect_pty_read(VteTerminal *terminal) + { ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); + if (terminal->pvt->pty_channel == NULL) { + return; + } +@@ -3403,9 +3403,10 @@ _vte_terminal_connect_pty_write(VteTerminal *terminal) + } + } + +-static void +-_vte_terminal_disconnect_pty_read(VteTerminal *terminal) ++void ++vte_terminal_disconnect_pty_read(VteTerminal *terminal) + { ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); + if (terminal->pvt->pty_input_source != 0) { + _vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n"); + g_source_remove(terminal->pvt->pty_input_source); +@@ -6705,7 +6706,7 @@ vte_terminal_start_selection(VteTerminal *terminal, long x, long y, + vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE); + + /* Temporarily stop caring about input from the child. */ +- _vte_terminal_disconnect_pty_read(terminal); ++ vte_terminal_disconnect_pty_read(terminal); + } + + static gboolean +@@ -6722,7 +6723,7 @@ _vte_terminal_maybe_end_selection (VteTerminal *terminal) + terminal->pvt->selecting = FALSE; + + /* Reconnect to input from the child if we paused it. */ +- _vte_terminal_connect_pty_read(terminal); ++ vte_terminal_connect_pty_read(terminal); + + return TRUE; + } +@@ -8885,7 +8886,7 @@ vte_terminal_finalize(GObject *object) + #endif + kill(terminal->pvt->pty_pid, SIGHUP); + } +- _vte_terminal_disconnect_pty_read(terminal); ++ vte_terminal_disconnect_pty_read(terminal); + _vte_terminal_disconnect_pty_write(terminal); + if (terminal->pvt->pty_channel != NULL) { + g_io_channel_unref (terminal->pvt->pty_channel); +@@ -12444,7 +12445,7 @@ vte_terminal_set_pty(VteTerminal *terminal, + g_object_freeze_notify(object); + + if (pvt->pty != NULL) { +- _vte_terminal_disconnect_pty_read(terminal); ++ vte_terminal_disconnect_pty_read(terminal); + _vte_terminal_disconnect_pty_write(terminal); + + if (terminal->pvt->pty_channel != NULL) { +@@ -12498,7 +12499,7 @@ vte_terminal_set_pty(VteTerminal *terminal, + _vte_terminal_setup_utf8 (terminal); + + /* Open channels to listen for input on. */ +- _vte_terminal_connect_pty_read (terminal); ++ vte_terminal_connect_pty_read (terminal); + + g_object_notify(object, "pty"); + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index dbe3ffe..f9c95ed 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -176,6 +176,10 @@ void vte_terminal_paste_primary(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + ++/* pause and unpause output */ ++void vte_terminal_disconnect_pty_read(VteTerminal *vte); ++void vte_terminal_connect_pty_read(VteTerminal *vte); ++ + /* By-word selection */ + void vte_terminal_set_word_char_exceptions(VteTerminal *terminal, + const char *exceptions) _VTE_GNUC_NONNULL(1); |
