summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.332
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.332')
-rw-r--r--patches/source/vim/patches/7.4.332118
1 files changed, 118 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.332 b/patches/source/vim/patches/7.4.332
new file mode 100644
index 000000000..94e04d2dc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.332
@@ -0,0 +1,118 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.332
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.332
+Problem: GTK: When a sign icon doesn't fit exactly there can be ugly gaps.
+Solution: Scale the sign to fit when the aspect ratio is not too far off.
+ (Christian Brabandt)
+Files: src/gui_gtk_x11.c
+
+
+*** ../vim-7.4.331/src/gui_gtk_x11.c 2014-05-13 20:19:53.573808877 +0200
+--- src/gui_gtk_x11.c 2014-06-17 18:44:39.900755807 +0200
+***************
+*** 5965,5991 ****
+ * Decide whether we need to scale. Allow one pixel of border
+ * width to be cut off, in order to avoid excessive scaling for
+ * tiny differences in font size.
+ */
+ need_scale = (width > SIGN_WIDTH + 2
+! || height > SIGN_HEIGHT + 2
+ || (width < 3 * SIGN_WIDTH / 4
+ && height < 3 * SIGN_HEIGHT / 4));
+ if (need_scale)
+ {
+! double aspect;
+
+ /* Keep the original aspect ratio */
+ aspect = (double)height / (double)width;
+ width = (double)SIGN_WIDTH * SIGN_ASPECT / aspect;
+ width = MIN(width, SIGN_WIDTH);
+! height = (double)width * aspect;
+
+! /* This doesn't seem to be worth caching, and doing so
+! * would complicate the code quite a bit. */
+! sign = gdk_pixbuf_scale_simple(sign, width, height,
+! GDK_INTERP_BILINEAR);
+! if (sign == NULL)
+! return; /* out of memory */
+ }
+
+ /* The origin is the upper-left corner of the pixmap. Therefore
+--- 5965,6012 ----
+ * Decide whether we need to scale. Allow one pixel of border
+ * width to be cut off, in order to avoid excessive scaling for
+ * tiny differences in font size.
++ * Do scale to fit the height to avoid gaps because of linespacing.
+ */
+ need_scale = (width > SIGN_WIDTH + 2
+! || height != SIGN_HEIGHT
+ || (width < 3 * SIGN_WIDTH / 4
+ && height < 3 * SIGN_HEIGHT / 4));
+ if (need_scale)
+ {
+! double aspect;
+! int w = width;
+! int h = height;
+
+ /* Keep the original aspect ratio */
+ aspect = (double)height / (double)width;
+ width = (double)SIGN_WIDTH * SIGN_ASPECT / aspect;
+ width = MIN(width, SIGN_WIDTH);
+! if (((double)(MAX(height, SIGN_HEIGHT)) /
+! (double)(MIN(height, SIGN_HEIGHT))) < 1.15)
+! {
+! /* Change the aspect ratio by at most 15% to fill the
+! * available space completly. */
+! height = (double)SIGN_HEIGHT * SIGN_ASPECT / aspect;
+! height = MIN(height, SIGN_HEIGHT);
+! }
+! else
+! height = (double)width * aspect;
+
+! if (w == width && h == height)
+! {
+! /* no change in dimensions; don't decrease reference counter
+! * (below) */
+! need_scale = FALSE;
+! }
+! else
+! {
+! /* This doesn't seem to be worth caching, and doing so would
+! * complicate the code quite a bit. */
+! sign = gdk_pixbuf_scale_simple(sign, width, height,
+! GDK_INTERP_BILINEAR);
+! if (sign == NULL)
+! return; /* out of memory */
+! }
+ }
+
+ /* The origin is the upper-left corner of the pixmap. Therefore
+*** ../vim-7.4.331/src/version.c 2014-06-17 18:16:08.420691059 +0200
+--- src/version.c 2014-06-17 18:46:49.784760721 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 332,
+ /**/
+
+--
+ "To whoever finds this note -
+ I have been imprisoned by my father who wishes me to marry
+ against my will. Please please please please come and rescue me.
+ I am in the tall tower of Swamp Castle."
+ SIR LAUNCELOT's eyes light up with holy inspiration.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///