Hello community, here is the log from the commit of package vte for openSUSE:Factory checked in at 2017-10-06 10:58:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vte (Old) and /work/SRC/openSUSE:Factory/.vte.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vte" Fri Oct 6 10:58:38 2017 rev:104 rq:531198 version:0.50.1 Changes: -------- --- /work/SRC/openSUSE:Factory/vte/vte.changes 2017-09-13 21:51:39.310214936 +0200 +++ /work/SRC/openSUSE:Factory/.vte.new/vte.changes 2017-10-06 10:58:40.624649165 +0200 @@ -1,0 +2,17 @@ +Tue Oct 03 17:29:59 UTC 2017 - [email protected] + +- Update to version 0.50.1: + + emulation: Add support for REP (repeat preceding graphic + character). + + widget: + - Fix initial size in presence of non-default padding. + - Fix a crash with hyperlinks if the mouse is over the padding. + +------------------------------------------------------------------- +Mon Oct 2 23:49:09 UTC 2017 - [email protected] + +- Update package summaries. Replace old RPM shell vars by new + constructs. Avoid running fdupes across partition boundaries. + Drop --with-pic which is useless for --disable-static builds. + +------------------------------------------------------------------- Old: ---- vte-0.50.0.tar.xz New: ---- vte-0.50.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vte.spec ++++++ --- /var/tmp/diff_new_pack.WODuhx/_old 2017-10-06 10:58:41.248554840 +0200 +++ /var/tmp/diff_new_pack.WODuhx/_new 2017-10-06 10:58:41.248554840 +0200 @@ -24,7 +24,7 @@ Name: vte %define _name vte Url: http://www.gnome.org -Version: 0.50.0 +Version: 0.50.1 Release: 0 Summary: Terminal Emulator Library # Switched to sourceservice, as upstream have a tendency to not release tarballs on time. @@ -81,7 +81,7 @@ emulation settings. %package -n typelib-1_0-Vte-%{?_binver} -Summary: Terminal Emulator Library -- Introspection bindings +Summary: Introspection bindings for the VTE terminal emulator library License: LGPL-2.0 Group: System/Libraries @@ -93,7 +93,7 @@ This package provides the GObject Introspection bindings for VTE. %package tools -Summary: Terminal Emulator Library -- Tools +Summary: Tools from the VTE terminal emulator package License: LGPL-2.0 Group: System/Libraries @@ -105,7 +105,7 @@ This package provides tools using VTE. %package -n glade-catalog-vte -Summary: Terminal Emulator Library -- Catalog for Glade +Summary: Glade catalog for the VTE terminal emulator library License: LGPL-2.0 and GPL-2.0 Group: Development/Tools/GUI Builders Requires: glade @@ -121,7 +121,7 @@ widgets in Glade. %package devel -Summary: Terminal Emulator Library -- Development Files +Summary: Development files for the VTE terminal emulator library License: LGPL-2.0 Group: Development/Libraries/GNOME Requires: libvte%{_sover} = %{version} @@ -148,22 +148,22 @@ NOCONFIGURE=1 ./autogen.sh export SUID_CFLAGS="-fPIE" export SUID_LDFLAGS="-pie" -%configure --with-pic\ +%configure \ --with-gtk=%{_gtkver}\ --disable-static \ --enable-glade-catalogue \ --enable-introspection \ --enable-gtk-doc -%__make %{?jobs:-j%jobs} V=1 +make %{?_smp_mflags} V=1 %install %makeinstall %if 0%{?suse_version} <= 1120 -%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/* +rm %{buildroot}/%{_datadir}/locale/en@shaw/LC_MESSAGES/* %endif %find_lang vte-%{_apiver} find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print -%fdupes $RPM_BUILD_ROOT +%fdupes %{buildroot}/%{_prefix} %post -n libvte%{_sover} -p /sbin/ldconfig ++++++ _service ++++++ --- /var/tmp/diff_new_pack.WODuhx/_old 2017-10-06 10:58:41.276550608 +0200 +++ /var/tmp/diff_new_pack.WODuhx/_new 2017-10-06 10:58:41.280550003 +0200 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> - <param name="revision">refs/tags/0.50.0</param> + <param name="revision">refs/tags/0.50.1</param> </service> <service name="recompress" mode="disabled"> <param name="file">*.tar</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.WODuhx/_old 2017-10-06 10:58:41.296547585 +0200 +++ /var/tmp/diff_new_pack.WODuhx/_new 2017-10-06 10:58:41.300546980 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://git.gnome.org/vte</param> - <param name="changesrevision">9032a81295fa48b088e6e5ceb366ab0676a5b6df</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">cc49215999c81430efd35ebef6182cf761ff2822</param></service></servicedata> \ No newline at end of file ++++++ vte-0.50.0.tar.xz -> vte-0.50.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.50.0/configure.ac new/vte-0.50.1/configure.ac --- old/vte-0.50.0/configure.ac 2017-09-06 19:16:43.000000000 +0200 +++ new/vte-0.50.1/configure.ac 2017-10-02 19:21:34.000000000 +0200 @@ -1,6 +1,6 @@ m4_define([version_major],0) m4_define([version_minor],50) -m4_define([version_micro],0) +m4_define([version_micro],1) m4_define([version_triplet],version_major.version_minor.version_micro) AC_PREREQ([2.63]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.50.0/src/vte.cc new/vte-0.50.1/src/vte.cc --- old/vte-0.50.0/src/vte.cc 2017-09-06 19:16:43.000000000 +0200 +++ new/vte-0.50.1/src/vte.cc 2017-10-02 19:21:34.000000000 +0200 @@ -2947,6 +2947,7 @@ long col; int columns, i; bool line_wrapped = false; /* cursor moved before char inserted */ + gunichar c_unmapped = c; /* DEC Special Character and Line Drawing Set. VT100 and higher (per XTerm docs). */ static gunichar line_drawing_map[31] = { @@ -3093,6 +3094,8 @@ row_num, 1); goto done; + } else { + m_last_graphic_character = c_unmapped; } /* Make sure we have enough rows to hold this data. */ @@ -3635,6 +3638,7 @@ /* Call the right sequence handler for the requested * behavior. */ handle_sequence(seq_match, params); + m_last_graphic_character = 0; /* Skip over the proper number of unicode chars. */ start = (next - wbuf); @@ -5595,6 +5599,8 @@ VteTerminalPrivate::hyperlink_hilite_update(vte::view::coords const& pos) { const VteRowData *rowdata; + bool coords_visible; + vte::grid::coords rowcol; hyperlink_idx_t new_hyperlink_hover_idx = 0; GdkRectangle bbox; const char *separator; @@ -5602,16 +5608,18 @@ if (!m_allow_hyperlink) return; - glong col = pos.x / m_char_width; - glong row = pixel_to_row(pos.y); - _vte_debug_print (VTE_DEBUG_HYPERLINK, "hyperlink_hilite_update\n"); - rowdata = find_row_data(row); - if (rowdata && col < rowdata->len) { - new_hyperlink_hover_idx = rowdata->cells[col].attr.hyperlink_idx; + coords_visible = view_coords_visible(pos); + if (coords_visible) { + rowcol = grid_coords_from_view_coords(pos); + rowdata = find_row_data(rowcol.row()); + if (rowdata && rowcol.column() < rowdata->len) { + new_hyperlink_hover_idx = rowdata->cells[rowcol.column()].attr.hyperlink_idx; + } } + if (new_hyperlink_hover_idx == m_hyperlink_hover_idx) { _vte_debug_print (VTE_DEBUG_HYPERLINK, "hyperlink did not change\n"); @@ -5626,8 +5634,8 @@ /* This might be different from new_hyperlink_hover_idx. If in the stream, that one contains * the pseudo idx VTE_HYPERLINK_IDX_TARGET_IN_STREAM and now a real idx is allocated. * Plus, the ring's internal belief of the hovered hyperlink is also updated. */ - if (view_coords_visible(pos)) - m_hyperlink_hover_idx = _vte_ring_get_hyperlink_at_position(m_screen->row_data, row, col, true, &m_hyperlink_hover_uri); + if (coords_visible) + m_hyperlink_hover_idx = _vte_ring_get_hyperlink_at_position(m_screen->row_data, rowcol.row(), rowcol.column(), true, &m_hyperlink_hover_uri); else m_hyperlink_hover_idx = 0; @@ -8046,6 +8054,7 @@ m_conv_buffer = _vte_byte_array_new(); set_encoding(nullptr /* UTF-8 */); g_assert_cmpstr(m_encoding, ==, "UTF-8"); + m_last_graphic_character = 0; /* Set up the emulation. */ m_keypad_mode = VTE_KEYMODE_NORMAL; @@ -8156,6 +8165,16 @@ } void +VteTerminalPrivate::widget_constructed() +{ + /* Set the style as early as possible, before GTK+ starts + * invoking various callbacks. This is needed in order to + * compute the initial geometry correctly in presence of + * non-default padding, see bug 787710. */ + widget_style_updated(); +} + +void VteTerminalPrivate::widget_get_preferred_width(int *minimum_width, int *natural_width) { @@ -8650,9 +8669,6 @@ /* Clear modifiers. */ m_modifiers = 0; - /* Make sure the style is set, bug 727614. */ - widget_style_updated(); - ensure_font(); } @@ -10286,6 +10302,7 @@ m_iso2022 = _vte_iso2022_state_new(nullptr); _vte_iso2022_state_set_codeset(m_iso2022, m_encoding); + m_last_graphic_character = 0; /* Reset keypad/cursor key modes. */ m_keypad_mode = VTE_KEYMODE_NORMAL; m_cursor_mode = VTE_KEYMODE_NORMAL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.50.0/src/vtegtk.cc new/vte-0.50.1/src/vtegtk.cc --- old/vte-0.50.0/src/vtegtk.cc 2017-09-06 19:16:43.000000000 +0200 +++ new/vte-0.50.1/src/vtegtk.cc 2017-10-02 19:21:34.000000000 +0200 @@ -361,6 +361,16 @@ } static void +vte_terminal_constructed (GObject *object) +{ + VteTerminal *terminal = VTE_TERMINAL (object); + + G_OBJECT_CLASS (vte_terminal_parent_class)->constructed (object); + + IMPL(terminal)->widget_constructed(); +} + +static void vte_terminal_init(VteTerminal *terminal) { void *place; @@ -630,6 +640,7 @@ widget_class = GTK_WIDGET_CLASS(klass); /* Override some of the default handlers. */ + gobject_class->constructed = vte_terminal_constructed; gobject_class->finalize = vte_terminal_finalize; gobject_class->get_property = vte_terminal_get_property; gobject_class->set_property = vte_terminal_set_property; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.50.0/src/vteinternal.hh new/vte-0.50.1/src/vteinternal.hh --- old/vte-0.50.0/src/vteinternal.hh 2017-09-06 19:16:43.000000000 +0200 +++ new/vte-0.50.1/src/vteinternal.hh 2017-10-02 19:21:34.000000000 +0200 @@ -295,6 +295,7 @@ struct _vte_iso2022_state *m_iso2022; _vte_incoming_chunk_t *m_incoming; /* pending bytestream */ GArray *m_pending; /* pending characters */ + gunichar m_last_graphic_character; /* for REP */ /* Array of dirty rectangles in view coordinates; need to * add allocation origin and padding when passing to gtk. */ @@ -658,6 +659,7 @@ GdkCursor *widget_cursor_new(GdkCursorType cursor_type) const; + void widget_constructed(); void widget_realize(); void widget_unrealize(); void widget_map(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.50.0/src/vteseq-n.gperf new/vte-0.50.1/src/vteseq-n.gperf --- old/vte-0.50.0/src/vteseq-n.gperf 2017-09-06 19:16:43.000000000 +0200 +++ new/vte-0.50.1/src/vteseq-n.gperf 2017-10-02 19:21:34.000000000 +0200 @@ -28,7 +28,7 @@ "tab", VTE_SEQUENCE_HANDLER(vte_sequence_handler_tab) "index", VTE_SEQUENCE_HANDLER(vte_sequence_handler_index) "decset", VTE_SEQUENCE_HANDLER(vte_sequence_handler_decset) -#"repeat", VTE_SEQUENCE_HANDLER_NULL +"repeat", VTE_SEQUENCE_HANDLER(vte_sequence_handler_repeat) "tab-set", VTE_SEQUENCE_HANDLER(vte_sequence_handler_tab_set) "decreset", VTE_SEQUENCE_HANDLER(vte_sequence_handler_decreset) "set-mode", VTE_SEQUENCE_HANDLER(vte_sequence_handler_set_mode) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.50.0/src/vteseq.cc new/vte-0.50.1/src/vteseq.cc --- old/vte-0.50.0/src/vteseq.cc 2017-09-06 19:16:43.000000000 +0200 +++ new/vte-0.50.1/src/vteseq.cc 2017-10-02 19:21:34.000000000 +0200 @@ -1,4 +1,3 @@ - /* * Copyright (C) 2001-2004 Red Hat, Inc. * @@ -1585,6 +1584,24 @@ vte_sequence_handler_multiple_r(that, params, _vte_sequence_handler_insert_character); } +/* Repeat the last graphic character once. */ +static void +vte_sequence_handler_repeat_internal (VteTerminalPrivate *that, GValueArray *params) +{ + if (that->m_last_graphic_character != 0) + that->insert_char (that->m_last_graphic_character, false, true); +} + +/* REP: Repeat the last graphic character n times. */ +static void +vte_sequence_handler_repeat (VteTerminalPrivate *that, GValueArray *params) +{ + vte_sequence_handler_multiple_limited (that, + params, + vte_sequence_handler_repeat_internal, + 65535); +} + /* Cursor down 1 line, with scrolling. */ static void vte_sequence_handler_index (VteTerminalPrivate *that, GValueArray *params)
