Feature #37530 » convert-timeout.patch
| lib/redmine/thumbnail.rb | ||
|---|---|---|
| 24 | 24 |
extend Redmine::Utils::Shell |
| 25 | 25 | |
| 26 | 26 |
CONVERT_BIN = (Redmine::Configuration['imagemagick_convert_command'] || 'convert').freeze |
| 27 |
CONVERT_TIMEOUT = 10 |
|
| 27 | 28 |
GS_BIN = ( |
| 28 | 29 |
Redmine::Configuration['gs_command'] || |
| 29 | 30 |
('gswin64c' if Redmine::Platform.mswin?) ||
|
| ... | ... | |
| 47 | 48 |
size_option = "#{size}x#{size}>"
|
| 48 | 49 | |
| 49 | 50 |
if is_pdf |
| 50 |
cmd = "#{shell_quote CONVERT_BIN} #{shell_quote "#{source}[0]"} -thumbnail #{shell_quote size_option} #{shell_quote "png:#{target}"}"
|
|
| 51 |
cmd = "#{shell_quote CONVERT_BIN} -limit time #{shell_quote CONVERT_TIMEOUT.to_s} #{shell_quote "#{source}[0]"} -thumbnail #{shell_quote size_option} #{shell_quote "png:#{target}"}"
|
|
| 51 | 52 |
else |
| 52 |
cmd = "#{shell_quote CONVERT_BIN} #{shell_quote source} -auto-orient -thumbnail #{shell_quote size_option} #{shell_quote target}"
|
|
| 53 |
cmd = "#{shell_quote CONVERT_BIN} -limit time #{shell_quote CONVERT_TIMEOUT.to_s} #{shell_quote source} -auto-orient -thumbnail #{shell_quote size_option} #{shell_quote target}"
|
|
| 53 | 54 |
end |
| 54 | 55 |
unless system(cmd) |
| 55 | 56 |
logger.error("Creating thumbnail failed (#{$?}):\nCommand: #{cmd}")
|