Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vte for openSUSE:Factory checked in at 2023-02-15 13:39:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vte (Old) and /work/SRC/openSUSE:Factory/.vte.new.22824 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vte" Wed Feb 15 13:39:56 2023 rev:143 rq:1065736 version:0.70.3 Changes: -------- --- /work/SRC/openSUSE:Factory/vte/vte.changes 2023-01-24 20:36:42.565741976 +0100 +++ /work/SRC/openSUSE:Factory/.vte.new.22824/vte.changes 2023-02-15 13:39:57.322599662 +0100 @@ -1,0 +2,11 @@ +Tue Feb 14 06:17:47 UTC 2023 - bjorn....@gmail.com + +- Update to version 0.70.3: + + widget: + - Ensure the ringview is updated before converting coordinates + - gtk4: Translate control+key events when using multiple + layouts + - Use correct end row for getting the selected text +- Drop ddb2c8a.patch: Fixed upstream. + +------------------------------------------------------------------- Old: ---- ddb2c8a.patch vte-0.70.2.obscpio New: ---- vte-0.70.3.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vte.spec ++++++ --- /var/tmp/diff_new_pack.4UTDTx/_old 2023-02-15 13:39:57.862602510 +0100 +++ /var/tmp/diff_new_pack.4UTDTx/_new 2023-02-15 13:39:57.866602531 +0100 @@ -27,7 +27,7 @@ %bcond_with glade_support Name: vte -Version: 0.70.2 +Version: 0.70.3 Release: 0 Summary: Terminal Emulator Library License: CC-BY-4.0 AND LGPL-3.0-or-later AND GPL-3.0-or-later AND MIT @@ -36,8 +36,6 @@ Source: %{_name}-%{version}.tar.xz # PATCH-FIX-OPENSUSE vte-enable-build-flag-pie.patch yfji...@suse.com -- enable PIE flag to be compatible with gcc default linking option Patch0: vte-enable-build-flag-pie.patch -# PATCH-FIX-UPSTREAM ddb2c8a.patch -- glgo#GNOME/vte#2584 widget: Use correct end row for getting the selected text -Patch1: https://gitlab.gnome.org/GNOME/vte/-/commit/ddb2c8a.patch # PATCH-FIX-SLE vte-revert-back-to-c++17.patch yu.da...@suse.com -- revert c++20 features back to c++17 Patch100: vte-revert-back-to-c++17.patch @@ -178,7 +176,6 @@ %prep %autosetup -n %{_name}-%{version} -N %patch0 -p1 -%patch1 -p1 %if 0%{?sle_version} %patch100 -p1 %endif ++++++ _service ++++++ --- /var/tmp/diff_new_pack.4UTDTx/_old 2023-02-15 13:39:57.898602699 +0100 +++ /var/tmp/diff_new_pack.4UTDTx/_new 2023-02-15 13:39:57.902602721 +0100 @@ -5,7 +5,7 @@ <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> - <param name="revision">refs/tags/0.70.2</param> + <param name="revision">refs/tags/0.70.3</param> <param name="exclude">doc/vttest.*</param> </service> <service name="tar" mode="buildtime" /> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.4UTDTx/_old 2023-02-15 13:39:57.926602848 +0100 +++ /var/tmp/diff_new_pack.4UTDTx/_new 2023-02-15 13:39:57.930602868 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://gitlab.gnome.org/GNOME/vte.git</param> - <param name="changesrevision">bfabb63d2f8d0f9846dc0a0a7d768d8bf6da3531</param></service></servicedata> + <param name="changesrevision">177c96f2b7e58ba90a7b5738089e8a97094c84d5</param></service></servicedata> (No newline at EOF) ++++++ vte-0.70.2.obscpio -> vte-0.70.3.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.70.2/meson.build new/vte-0.70.3/meson.build --- old/vte-0.70.2/meson.build 2022-11-27 21:28:23.000000000 +0100 +++ new/vte-0.70.3/meson.build 2023-02-11 19:20:05.000000000 +0100 @@ -17,7 +17,7 @@ project( 'vte', ['c', 'cpp'], - version: '0.70.2', + version: '0.70.3', license: ['LGPL-3.0-or-later', 'GPL-3.0-or-later'], default_options: [ 'buildtype=release', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.70.2/src/vte.cc new/vte-0.70.3/src/vte.cc --- old/vte-0.70.2/src/vte.cc 2022-11-27 21:28:23.000000000 +0100 +++ new/vte-0.70.3/src/vte.cc 2023-02-11 19:20:05.000000000 +0100 @@ -1492,8 +1492,10 @@ vte::grid::row_t row, int* tag) { - /* Need to ensure the ringview is updated. */ - ringview_update(); + + // Caller needs to update the ringview. + if (!m_ringview.is_updated()) + [[unlikely]] return nullptr; long delta = m_screen->scroll_delta; _vte_debug_print(VTE_DEBUG_EVENTS | VTE_DEBUG_REGEX, @@ -1585,8 +1587,10 @@ vte::grid::coords Terminal::grid_coords_from_view_coords(vte::view::coords const& pos) const { - /* Our caller had to update the ringview (we can't do because we're const). */ - g_assert(m_ringview.is_updated()); + // Callers need to update the ringview. However, don't assert, just + // return out-of-view coords. FIXME: may want to throw instead + if (!m_ringview.is_updated()) + [[unlikely]] return {-1, -1}; vte::grid::column_t col; if (pos.x >= 0 && pos.x < m_view_usable_extents.width()) @@ -1691,8 +1695,10 @@ vte::grid::halfcoords Terminal::selection_grid_halfcoords_from_view_coords(vte::view::coords const& pos) const { - /* Our caller had to update the ringview (we can't do because we're const). */ - g_assert(m_ringview.is_updated()); + // Callers need to update the ringview. However, don't assert, just + // return out-of-view coords. FIXME: may want to throw instead + if (!m_ringview.is_updated()) + [[unlikely]] return {-1, {-1, 1}}; vte::grid::row_t row = pixel_to_row(pos.y); vte::grid::column_t col; @@ -1736,7 +1742,8 @@ return; /* Need to ensure the ringview is updated. */ - ringview_update(); + if (!m_ringview.is_updated()) + ringview_update(); auto current = selection_grid_halfcoords_from_view_coords (pos); @@ -1805,6 +1812,10 @@ Terminal::hyperlink_check_at(double x, double y) { + /* Need to ensure the ringview is updated. */ + if (!m_ringview.is_updated()) + ringview_update(); + long col, row; if (!rowcol_at(x, y, &col, &row)) return nullptr; @@ -1817,6 +1828,10 @@ char* Terminal::hyperlink_check(vte::platform::MouseEvent const& event) { + /* Need to ensure the ringview is updated. */ + if (!m_ringview.is_updated()) + ringview_update(); + long col, row; if (!rowcol_from_event(event, &col, &row)) return nullptr; @@ -1834,8 +1849,9 @@ if (!m_allow_hyperlink) return NULL; - /* Need to ensure the ringview is updated. */ - ringview_update(); + // Caller needs to update the ringview. + if (!m_ringview.is_updated()) + [[unlikely]] return nullptr; _vte_ring_get_hyperlink_at_position(m_screen->row_data, row, col, false, &hyperlink); @@ -1857,10 +1873,13 @@ Terminal::regex_match_check(vte::platform::MouseEvent const& event, int *tag) { - long col, row; + /* Need to ensure the ringview is updated. */ + if (!m_ringview.is_updated()) + ringview_update(); + long col, row; if (!rowcol_from_event(event, &col, &row)) - return FALSE; + return nullptr; /* FIXME Shouldn't rely on a deprecated, not sub-row aware method. */ // FIXMEchpe fix this scroll_delta substraction! @@ -1874,6 +1893,10 @@ double y, int *tag) { + /* Need to ensure the ringview is updated. */ + if (!m_ringview.is_updated()) + ringview_update(); + long col, row; if (!rowcol_at(x, y, &col, &row)) return nullptr; @@ -1891,6 +1914,10 @@ uint32_t match_flags, char** matches) { + /* Need to ensure the ringview is updated. */ + if (!m_ringview.is_updated()) + ringview_update(); + long col, row; if (!rowcol_at(x, y, &col, &row)) return false; @@ -1907,6 +1934,10 @@ uint32_t match_flags, char** matches) { + /* Need to ensure the ringview is updated. */ + if (!m_ringview.is_updated()) + ringview_update(); + long col, row; if (!rowcol_from_event(event, &col, &row)) return false; @@ -1929,8 +1960,9 @@ assert(regexes != nullptr || n_regexes == 0); assert(matches != nullptr); - /* Need to ensure the ringview is updated. */ - ringview_update(); + // Caller needs to update the ringview. + if (!m_ringview.is_updated()) + [[unlikely]] return false; if (m_match_contents == nullptr) { match_contents_refresh(); @@ -5387,8 +5419,10 @@ Terminal::cell_is_selected_log(vte::grid::column_t lcol, vte::grid::row_t row) const { - /* Our caller had to update the ringview (we can't do because we're const). */ - g_assert(m_ringview.is_updated()); + // Callers need to update the ringview. However, don't assert, just + // return out-of-view coords. FIXME: may want to throw instead + if (!m_ringview.is_updated()) + [[unlikely]] return false; if (m_selection_block_mode) { /* In block mode, make sure CJKs and TABs aren't cut in half. */ @@ -5413,8 +5447,10 @@ Terminal::cell_is_selected_vis(vte::grid::column_t vcol, vte::grid::row_t row) const { - /* Our caller had to update the ringview (we can't do because we're const). */ - g_assert(m_ringview.is_updated()); + // Callers need to update the ringview. However, don't assert, just + // return out-of-view coords. FIXME: may want to throw instead + if (!m_ringview.is_updated()) + [[unlikely]] return false; /* Convert to logical column. */ vte::base::BidiRow const* bidirow = m_ringview.get_bidirow(row); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.70.2/src/vtegtk.cc new/vte-0.70.3/src/vtegtk.cc --- old/vte-0.70.2/src/vtegtk.cc 2022-11-27 21:28:23.000000000 +0100 +++ new/vte-0.70.3/src/vtegtk.cc 2023-02-11 19:20:05.000000000 +0100 @@ -5699,7 +5699,7 @@ return vte_terminal_get_text_range(terminal, selection.start_row(), selection.start_column(), - selection.last_row(), + selection.end_row(), selection.end_column(), nullptr, nullptr, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.70.2/src/widget.cc new/vte-0.70.3/src/widget.cc --- old/vte-0.70.2/src/widget.cc 2022-11-27 21:28:23.000000000 +0100 +++ new/vte-0.70.3/src/widget.cc 2023-02-11 19:20:05.000000000 +0100 @@ -1245,10 +1245,10 @@ unsigned Widget::key_event_translate_ctrlkey(KeyEvent const& event) const noexcept { -#if VTE_GTK == 3 if (event.keyval() < 128) return event.keyval(); +#if VTE_GTK == 3 auto display = gdk_window_get_display(gdk_event_get_window(event.platform_event())); auto keymap = gdk_keymap_get_for_display(display); auto keyval = unsigned{event.keyval()}; @@ -1270,10 +1270,35 @@ } return keyval; + #elif VTE_GTK == 4 - // FIXMEgtk4: find a way to do this on gtk4 + auto const display = gdk_event_get_display(event.platform_event()); + + /* Try groups in order to find one mapping the key to ASCII */ + for (auto i = unsigned{0}; i < 4; i++) { + auto keyval = guint{}; + auto consumed_modifiers = GdkModifierType{}; + if (!gdk_display_translate_key(display, + event.keycode(), + GdkModifierType(event.modifiers()), + i, + &keyval, + nullptr, + nullptr, + &consumed_modifiers)) + continue; + + if (keyval >= 128) + continue; + + _vte_debug_print (VTE_DEBUG_EVENTS, + "ctrl+Key, group=%d de-grouped into keyval=0x%x\n", + event.group(), keyval); + return keyval; + } + return event.keyval(); -#endif +#endif /* VTE_GTK */ } KeyEvent ++++++ vte.obsinfo ++++++ --- /var/tmp/diff_new_pack.4UTDTx/_old 2023-02-15 13:39:58.194604261 +0100 +++ /var/tmp/diff_new_pack.4UTDTx/_new 2023-02-15 13:39:58.198604282 +0100 @@ -1,5 +1,5 @@ name: vte -version: 0.70.2 -mtime: 1669580903 -commit: bfabb63d2f8d0f9846dc0a0a7d768d8bf6da3531 +version: 0.70.3 +mtime: 1676139605 +commit: 177c96f2b7e58ba90a7b5738089e8a97094c84d5