mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2026-11-03 16:44:05 +00:00
Fix not generating png from application ico if ico file exists
This commit is contained in:
@@ -32,10 +32,12 @@ module W3DHubLauncher
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Downloads requested url and on success check if host element is still in the layout and call the block if so.
|
# Downloads requested url and on success check if host element is still in the layout and call the block if so.
|
||||||
def remote_image(path, url:, element:, &block)
|
def remote_image(path, url:, element:, required_path: nil, &block)
|
||||||
memcache_key = :"lock_net_download_#{element.style.tag}"
|
memcache_key = :"lock_net_download_#{element.style.tag}"
|
||||||
|
|
||||||
if !File.exist?(path) && MemCache[memcache_key].nil?
|
path_exists = File.exist?(path)
|
||||||
|
|
||||||
|
if !path_exists && MemCache[memcache_key].nil?
|
||||||
MemCache[memcache_key] = true
|
MemCache[memcache_key] = true
|
||||||
|
|
||||||
Worker::Api.download_url(url, path) do |result|
|
Worker::Api.download_url(url, path) do |result|
|
||||||
@@ -53,6 +55,14 @@ module W3DHubLauncher
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if required_path && path_exists && !File.exist?(required_path)
|
||||||
|
e = find_element_by_tag(element.root, element.style.tag)
|
||||||
|
|
||||||
|
return unless e
|
||||||
|
|
||||||
|
block.call(element, path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def on_main_thread(block)
|
def on_main_thread(block)
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ module W3DHubLauncher
|
|||||||
btn = button(safe_get_image("#{CACHE_PATH}/icon_#{game.id}.png"), tag: :"image_icon_#{game.id}", style_class: [:app_icon_button], enabled: @current_app.id != game.id, tip: game.name) do |btn|
|
btn = button(safe_get_image("#{CACHE_PATH}/icon_#{game.id}.png"), tag: :"image_icon_#{game.id}", style_class: [:app_icon_button], enabled: @current_app.id != game.id, tip: game.name) do |btn|
|
||||||
populate_game(game, game&.channels&.first)
|
populate_game(game, game&.channels&.first)
|
||||||
end
|
end
|
||||||
remote_image("#{CACHE_PATH}/icon_#{game.id}.ico", url: "https://s3.w3d.cyberarm.dev/games/#{game.id}/#{game.id}.ico", element: btn) do |e, path|
|
remote_image("#{CACHE_PATH}/icon_#{game.id}.ico", required_path: "#{CACHE_PATH}/icon_#{game.id}.png", url: "https://s3.w3d.cyberarm.dev/games/#{game.id}/#{game.id}.ico", element: btn) do |e, path|
|
||||||
Worker::Api.ico_to_png(ico_path: path, png_path: path.sub(".ico", ".png")) do |result|
|
Worker::Api.ico_to_png(ico_path: path, png_path: path.sub(".ico", ".png")) do |result|
|
||||||
e&.value = safe_get_image(result.data["path"]) if result.okay?
|
e&.value = safe_get_image(result.data["path"]) if result.okay?
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user