local-fastimage_resize 3.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/ext/fastimage_native_resize/fastimage_native_resize.c +14 -7
- data/lib/fastimage/resize.rb +3 -1
- data/lib/fastimage/resize/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50c371403135f3114a00aa4bc6c5f4b6dfb9b33c
|
4
|
+
data.tar.gz: a94a1d8ac982dfed7ac8f2c923f90361e105472c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f6caeb867b93b16d3ed126ca508cbc2ba020108f063ee8ce6dee6017e4b1dcc0a3f2e9224bd7f11e3c4647e0c1aa89ed22eb9d1c280e25ebe78a45ecb521331
|
7
|
+
data.tar.gz: 884d0de764ada380b77cd97841fc803eab00e52f9b3ad997f31cc20cc92fdf30737609bb8b94ed7adad16992ccf0091828e1b8f9730381cbb17bac9043c1f7d8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 3.2.0 - 2017-09-08
|
2
|
+
|
3
|
+
Check for some error cases in gd calls which might have resulted in null-pointer exceptions and subsequent segfaults.
|
4
|
+
|
5
|
+
If the resized image could not be created for any reason, we now raise a `FastImage::ImageFetchFailure` exception.
|
6
|
+
|
1
7
|
# 3.1.1 - 2016-06-03
|
2
8
|
|
3
9
|
Fix native code structure to work after gem install.
|
@@ -46,7 +46,11 @@ static VALUE fastimage_native_resize(VALUE self, VALUE rb_in, VALUE rb_out, VALU
|
|
46
46
|
if (!f) trans = -1; /* no transparent pixel found */
|
47
47
|
}
|
48
48
|
break;
|
49
|
-
|
49
|
+
}
|
50
|
+
|
51
|
+
if (!im_in) {
|
52
|
+
fclose(in);
|
53
|
+
return Qnil;
|
50
54
|
}
|
51
55
|
|
52
56
|
if (w == 0 || h == 0) {
|
@@ -60,14 +64,17 @@ static VALUE fastimage_native_resize(VALUE self, VALUE rb_in, VALUE rb_out, VALU
|
|
60
64
|
}
|
61
65
|
|
62
66
|
im_out = gdImageCreateTrueColor(w, h); /* must be truecolor */
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
+
if (im_out) {
|
68
|
+
if (image_type == 1) {
|
69
|
+
gdImageAlphaBlending(im_out, 0); /* handle transparency correctly */
|
70
|
+
gdImageSaveAlpha(im_out, 1);
|
71
|
+
}
|
72
|
+
fclose(in);
|
73
|
+
} else {
|
74
|
+
fclose(in);
|
75
|
+
return Qnil;
|
67
76
|
}
|
68
77
|
|
69
|
-
fclose(in);
|
70
|
-
|
71
78
|
/* Now copy the original */
|
72
79
|
gdImageCopyResampled(im_out, im_in, 0, 0, 0, 0,
|
73
80
|
gdImageSX(im_out), gdImageSY(im_out),
|
data/lib/fastimage/resize.rb
CHANGED
@@ -77,9 +77,11 @@ module FastImage::Resize
|
|
77
77
|
|
78
78
|
FastImage.native_resize(path, file_out.to_s, width.to_i, height.to_i, type_index, jpeg_quality.to_i)
|
79
79
|
|
80
|
+
raise FastImage::ImageFetchFailure, 'Image could be created' unless File.exist?(file_out.to_s)
|
81
|
+
|
80
82
|
temp_file
|
81
83
|
rescue RuntimeError => e
|
82
|
-
raise ImageFetchFailure, e.message
|
84
|
+
raise FastImage::ImageFetchFailure, e.message
|
83
85
|
end
|
84
86
|
end
|
85
87
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: local-fastimage_resize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Sykes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-09-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: local-fastimage
|
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
128
|
requirements:
|
129
129
|
- libgd, see www.libgd.org
|
130
130
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.
|
131
|
+
rubygems_version: 2.6.13
|
132
132
|
signing_key:
|
133
133
|
specification_version: 4
|
134
134
|
summary: Local FastImage Resize - Image resizing fast and simple
|