Date: Friday, August 5, 2016 @ 10:28:01
  Author: jgc
Revision: 273097

upgpkg: vte 0.28.2-8

Fix FS#49521

Added:
  vte/trunk/bracketed_paste_mode_fix.patch
Modified:
  vte/trunk/PKGBUILD

--------------------------------+
 PKGBUILD                       |   10 +++-
 bracketed_paste_mode_fix.patch |   83 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2016-08-05 09:25:59 UTC (rev 273096)
+++ PKGBUILD    2016-08-05 10:28:01 UTC (rev 273097)
@@ -3,7 +3,7 @@
 
 pkgname=vte
 pkgver=0.28.2
-pkgrel=7
+pkgrel=8
 pkgdesc="Virtual Terminal Emulator widget for use with GTK2"
 arch=('i686' 'x86_64')
 license=('LGPL')
@@ -13,15 +13,18 @@
 url="http://www.gnome.org";
 source=(http://ftp.gnome.org/pub/GNOME/sources/vte/0.28/vte-$pkgver.tar.xz
         make_alt_work.patch
-        scroll_region.patch)
+        scroll_region.patch
+        bracketed_paste_mode_fix.patch)
 sha256sums=('86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae'
             '2cd58ffffd42a9d59e05369c2efa1e70b7d32bfb5c8cdbd67b3b95ae3c3e6d61'
-            '9a99c486b1c0377a4b8c6fae25067c68913bded2988fafea2c86f5adf6a49c81')
+            '9a99c486b1c0377a4b8c6fae25067c68913bded2988fafea2c86f5adf6a49c81'
+            '634d4526efdff9fac0e75cb056afb0a886354cd52c5dc98f5a70bef282631724')
 
 prepare() {
   cd $pkgname-$pkgver
   patch -Np1 -i ../make_alt_work.patch
   patch -Np1 -i ../scroll_region.patch
+  patch -Np1 -i ../bracketed_paste_mode_fix.patch
   rm -r doc/reference/html
 }
 build() {
@@ -33,6 +36,7 @@
       --libexecdir=/usr/lib/vte \
       --localstatedir=/var --disable-static \
       --enable-introspection --with-gtk=2.0 --disable-gnome-pty-helper
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
   make
 }
 

Added: bracketed_paste_mode_fix.patch
===================================================================
--- bracketed_paste_mode_fix.patch                              (rev 0)
+++ bracketed_paste_mode_fix.patch      2016-08-05 10:28:01 UTC (rev 273097)
@@ -0,0 +1,83 @@
+commit 7206376160aac2743a93f70a4726bad4f34fa688
+Author: Fuujuhi <[email protected]>
+Date:   Wed Jul 30 15:52:52 2014 +0200
+
+    backporting vte bracked paste mode bug patch on v0.28.2-5ubuntu1
+    
+    See https://bugzilla.gnome.org/show_bug.cgi?id=729533
+    Patch at https://bugzilla.gnome.org/attachment.cgi?id=279320
+
+diff --git a/src/vte-private.h b/src/vte-private.h
+index 65d5022..ac1f2d8 100644
+--- a/src/vte-private.h
++++ b/src/vte-private.h
+@@ -219,7 +219,6 @@ struct _VteTerminalPrivate {
+               gboolean sendrecv_mode; /* sendrecv mode */
+               gboolean insert_mode;   /* insert mode */
+               gboolean linefeed_mode; /* linefeed mode */
+-              gboolean bracketed_paste_mode;
+               struct vte_scrolling_region {
+                       int start, end;
+               } scrolling_region;     /* the region we scroll in */
+@@ -274,6 +273,7 @@ struct _VteTerminalPrivate {
+       gboolean text_modified_flag;
+       gboolean text_inserted_flag;
+       gboolean text_deleted_flag;
++      gboolean bracketed_paste_mode;
+ 
+       /* Scrolling options. */
+       gboolean scroll_background;
+diff --git a/src/vte.c b/src/vte.c
+index c20ee78..dbab6de 100644
+--- a/src/vte.c
++++ b/src/vte.c
+@@ -5823,10 +5823,10 @@ static void mark_output_source_invalid(VteTerminal 
*terminal)
+                               p++;
+                       }
+               }
+-              if (terminal->pvt->screen->bracketed_paste_mode)
++              if (terminal->pvt->bracketed_paste_mode)
+                       vte_terminal_feed_child(terminal, "\e[200~", -1);
+               vte_terminal_feed_child(terminal, paste, length);
+-              if (terminal->pvt->screen->bracketed_paste_mode)
++              if (terminal->pvt->bracketed_paste_mode)
+                       vte_terminal_feed_child(terminal, "\e[201~", -1);
+               g_free(paste);
+       }
+@@ -14106,14 +14106,12 @@ static void mark_output_source_invalid(VteTerminal 
*terminal)
+       pvt->normal_screen.linefeed_mode = FALSE;
+       pvt->normal_screen.origin_mode = FALSE;
+       pvt->normal_screen.reverse_mode = FALSE;
+-      pvt->normal_screen.bracketed_paste_mode = FALSE;
+       pvt->alternate_screen.scrolling_restricted = FALSE;
+       pvt->alternate_screen.sendrecv_mode = TRUE;
+       pvt->alternate_screen.insert_mode = FALSE;
+       pvt->alternate_screen.linefeed_mode = FALSE;
+       pvt->alternate_screen.origin_mode = FALSE;
+       pvt->alternate_screen.reverse_mode = FALSE;
+-      pvt->alternate_screen.bracketed_paste_mode = FALSE;
+       pvt->cursor_visible = TRUE;
+       /* Reset the encoding. */
+       vte_terminal_set_encoding(terminal, NULL);
+@@ -14143,6 +14141,8 @@ static void mark_output_source_invalid(VteTerminal 
*terminal)
+       pvt->mouse_last_y = 0;
+       /* Clear modifiers. */
+       pvt->modifiers = 0;
++      /* Reset miscellaneous stuff. */
++      pvt->bracketed_paste_mode = FALSE;
+       /* Cause everything to be redrawn (or cleared). */
+       vte_terminal_maybe_scroll_to_bottom(terminal);
+       _vte_invalidate_all(terminal);
+diff --git a/src/vteseq.c b/src/vteseq.c
+index 209522f..8c8d43c 100644
+--- a/src/vteseq.c
++++ b/src/vteseq.c
+@@ -737,7 +737,7 @@
+                GINT_TO_POINTER(TRUE),
+                NULL, NULL},
+               /* 2004: Bracketed paste mode. */
+-              {2004, &terminal->pvt->screen->bracketed_paste_mode, NULL, NULL,
++              {2004, &terminal->pvt->bracketed_paste_mode, NULL, NULL,
+                GINT_TO_POINTER(FALSE),
+                GINT_TO_POINTER(TRUE),
+                NULL, NULL,},

Reply via email to