commit:     9e3815ce405e76111b0c95f59a248c37cdd1f1b5
Author:     Azamat H. Hackimov <azamat.hackimov <AT> gmail <DOT> com>
AuthorDate: Fri Mar 28 23:40:59 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan  8 05:47:03 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e3815ce

dev-games/aseprite: add 1.3.13

Closes: https://bugs.gentoo.org/947283
Signed-off-by: Azamat H. Hackimov <azamat.hackimov <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/38133
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-games/aseprite/Manifest                        |   1 +
 dev-games/aseprite/aseprite-1.3.13.ebuild          | 240 +++++++++++++++++++++
 .../files/aseprite-1.3.13_shared_libarchive.patch  |  66 ++++++
 .../files/aseprite-1.3.13_shared_tinyxml2.patch    |  18 ++
 .../files/aseprite-1.3.13_shared_webp.patch        |  73 +++++++
 .../files/aseprite-1.3.13_strict-aliasing.patch    |  49 +++++
 6 files changed, 447 insertions(+)

diff --git a/dev-games/aseprite/Manifest b/dev-games/aseprite/Manifest
index f1fbddac9fff..bbf328257329 100644
--- a/dev-games/aseprite/Manifest
+++ b/dev-games/aseprite/Manifest
@@ -1,3 +1,4 @@
+DIST Aseprite-v1.3.13-Source.zip 73753124 BLAKE2B 
08e4c48fd1b443ca32685323ac15ba60cf14c248011006b73d0de77c846ccbda2e69e9d6fb0866106b721142b0f4e815e572508f3edd86a4008c8643f8611cad
 SHA512 
50b72593afe9bd136e283ed99ac37e7482d300da32e891ac4aefdf077f9f49dca1a1c3b57850d22ba72ed3d1ddb95306ceac209ead598aa77ba113015fd956f4
 DIST Aseprite-v1.3.5-Source.zip 64189695 BLAKE2B 
f796f688f0ba565ae32fde2e8d84e39b610f451054440ced078ce1fc847a9208460b45aa6efa059a56c9e0603b4fd156cc476a2c40715ec2c37181e39c06a401
 SHA512 
885386e84c55b84cc85ffbf16f7269ac1640458abe973c3aa2e3eabd807ea3e1e06ee6e6dfaffff9dd7b09d3b37bd9ac41821152838cd80742edd4d53302c0e3
 DIST Aseprite-v1.3.8.1-Source.zip 65968844 BLAKE2B 
265e1f828da2182179e6d4f2a20dc03bce2335b9a2253c16b8e231bb2fa9816bbecb281080dd300f17fe7d25a552f032c2a42742ffea8d1c146ccbd4a9a48bb2
 SHA512 
1dd7e528c25e12fb8982834bbe462090daa21e4c3a99fa7fb2574b602d13a93428d96d5bd1cd187a4fd3a335fa1b80a987b1b119b8c265669898da3dcf88b9b4
 DIST skia-m102-3338e90707323d2cd3a150276acb9f39933deee2.gh.tar.gz 53944562 
BLAKE2B 
9da3e8386cd7a18a6ee9362743bee4146c41038af8868a6f5e8a2dce468e4dc4669b488861d117da8d1bd8461b2ad47bfc300774a33a84153bca345d63a929a7
 SHA512 
9ae0032ee3861ce4958af6eb7047273d28b1faa3823576ef568e3c7faed7f49a9976540a72c3fa38234a4ae6319ac381324eff807938f9763781fd33ad67d075

diff --git a/dev-games/aseprite/aseprite-1.3.13.ebuild 
b/dev-games/aseprite/aseprite-1.3.13.ebuild
new file mode 100644
index 000000000000..4c978e511f26
--- /dev/null
+++ b/dev-games/aseprite/aseprite-1.3.13.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake desktop flag-o-matic python-any-r1 toolchain-funcs xdg-utils
+
+SKIA_VER="m102"
+# Last commit in ${SKIA_VER} feature branch
+# Don't use skia.googlesource.com, it produces non-reproducible tarballs
+SKIA_REV="3338e90707323d2cd3a150276acb9f39933deee2"
+
+DESCRIPTION="Animated sprite editor & pixel art tool"
+HOMEPAGE="https://www.aseprite.org";
+SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip
+       https://github.com/google/skia/archive/${SKIA_REV}.tar.gz -> 
skia-${SKIA_VER}-${SKIA_REV}.gh.tar.gz"
+
+# See https://github.com/aseprite/aseprite#license
+LICENSE="Aseprite-EULA MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="test webp"
+
+RESTRICT="bindist mirror !test? ( test )"
+
+COMMON_DEPEND="
+       app-arch/libarchive:=
+       app-text/cmark:=
+       dev-libs/libfmt:=
+       dev-libs/tinyxml2:=
+       media-libs/freetype
+       media-libs/giflib:=
+       media-libs/harfbuzz:=[truetype]
+       media-libs/libjpeg-turbo:=
+       media-libs/libpng:=
+       net-misc/curl
+       sys-libs/zlib:=
+       virtual/opengl
+       x11-libs/libX11
+       x11-libs/libXcursor
+       x11-libs/libXi
+       x11-libs/libxcb:=
+       webp? ( media-libs/libwebp:= )
+"
+RDEPEND="
+       ${COMMON_DEPEND}
+       gnome-extra/zenity
+"
+DEPEND="
+       ${COMMON_DEPEND}
+       x11-base/xorg-proto"
+BDEPEND="
+       ${PYTHON_DEPS}
+       test? ( dev-cpp/gtest )
+       app-arch/unzip
+       dev-build/gn
+       virtual/pkgconfig
+"
+
+DOCS=(
+       docs/ase-file-specs.md
+       docs/gpl-palette-extension.md
+       README.md
+)
+
+PATCHES=(
+       "${FILESDIR}/skia-${SKIA_VER}_remove_angle2.patch"
+       "${FILESDIR}/aseprite-1.3.13_shared_libarchive.patch"
+       "${FILESDIR}/aseprite-1.3.8.1_shared_json11.patch"
+       "${FILESDIR}/aseprite-1.3.13_shared_webp.patch"
+       "${FILESDIR}/aseprite-1.2.35_laf_fixes.patch"
+       "${FILESDIR}/aseprite-1.3.8.1_shared_fmt.patch"
+       "${FILESDIR}/aseprite-1.3.13_shared_tinyxml2.patch"
+       "${FILESDIR}/aseprite-1.3.13_strict-aliasing.patch"
+)
+
+src_unpack() {
+       mkdir "${S}" || die
+       pushd "${S}" > /dev/null || die
+               default
+       popd > /dev/null || die
+}
+
+src_prepare() {
+       cmake_src_prepare
+       # Skia: remove custom optimizations
+       sed -i -e 's:"\/\/gn\/skia\:optimize",::g' \
+               "skia-${SKIA_REV}/gn/BUILDCONFIG.gn" || die
+       # Aseprite: don't install targets from third_party projects
+       sed -i -e \
+               's:add_subdirectory(tga):add_subdirectory(tga 
EXCLUDE_FROM_ALL):g' \
+               src/CMakeLists.txt || die
+       sed -i \
+               -e 's:add_subdirectory(json11):add_subdirectory(json11 
EXCLUDE_FROM_ALL):g' \
+               -e 's:add_subdirectory(TinyEXIF):add_subdirectory(TinyEXIF 
EXCLUDE_FROM_ALL):g' \
+                       third_party/CMakeLists.txt || die
+       # Aseprite: don't use bundled gtest
+       sed -i -e '/add_subdirectory(googletest)/d' \
+               laf/third_party/CMakeLists.txt || die
+       # Fix shebang in thumbnailer
+       sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' \
+               src/desktop/linux/aseprite-thumbnailer || die
+}
+
+src_configure() {
+       # -Werror=strict-aliasing, -Werror=odr, -Werror=lto-type-mismatch
+       # https://bugs.gentoo.org/924692
+       # https://github.com/aseprite/aseprite/issues/4413
+       #
+       # There is a bundled skia that fails with ODR errors. When excluding 
just
+       # skia from testing, aseprite itself failed with strict-aliasing (before
+       # upstream PR#84), and when that is disabled, fails again with ODR and
+       # lto-type-mismatch issues.
+       #
+       # There are a lot of issues, so don't trust any fixes without thorough
+       # testing.
+       filter-lto
+
+       einfo "Skia configuration"
+       pushd skia-${SKIA_REV} > /dev/null || die
+               tc-export AR CC CXX
+
+               passflags() {
+                       local _f _x
+                       _f=( ${1} )
+                       _x="[$(printf '"%s", ' "${_f[@]}")]"
+                       myconf_gn+=( ${2}="${_x}" )
+               }
+
+               local myconf_gn=(
+                       ar=\"${AR}\"
+                       cc=\"${CC}\"
+                       cxx=\"${CXX}\"
+
+                       is_official_build=true
+                       is_component_build=false
+                       is_debug=false
+
+                       skia_use_egl=false
+                       skia_use_dawn=false
+                       skia_use_dng_sdk=false
+                       skia_use_metal=false
+                       skia_use_sfntly=false
+                       skia_use_wuffs=false
+
+                       skia_enable_pdf=false
+                       skia_enable_svg=false
+                       skia_use_expat=false
+                       skia_use_ffmpeg=false
+                       skia_use_fontconfig=false
+                       skia_use_freetype=true
+                       skia_use_gl=true
+                       skia_use_harfbuzz=true
+                       skia_use_icu=false
+                       skia_use_libjpeg_turbo_decode=true
+                       skia_use_libjpeg_turbo_encode=true
+                       skia_use_libpng_decode=true
+                       skia_use_libpng_encode=true
+                       skia_use_libwebp_decode=$(usex webp true false)
+                       skia_use_libwebp_encode=$(usex webp true false)
+                       skia_use_lua=false
+                       skia_use_vulkan=false
+                       skia_use_x11=false
+                       skia_use_xps=false
+                       skia_use_zlib=true
+               )
+
+               passflags "${CFLAGS}" extra_cflags_c
+               passflags "${CXXFLAGS}" extra_cflags_cc
+               passflags "${LDFLAGS}" extra_ldflags
+               myconf_gn="${myconf_gn[@]}"
+               set -- gn gen --args="${myconf_gn% }" out/Static
+               echo "$@"
+               "$@" || die
+       popd > /dev/null || die
+
+       einfo "Aseprite configuration"
+       local mycmakeargs=(
+               -DENABLE_CCACHE=OFF
+               -DENABLE_DESKTOP_INTEGRATION=ON
+               -DENABLE_I18N_STRINGS=OFF
+               -DENABLE_STEAM=OFF
+               -DENABLE_TESTS="$(usex test)"
+               -DENABLE_QT_THUMBNAILER=OFF
+               -DENABLE_UPDATER=OFF
+               -DENABLE_WEBP="$(usex webp)"
+               -DLAF_WITH_EXAMPLES=OFF
+               -DLAF_WITH_TESTS="$(usex test)"
+               -DFULLSCREEN_PLATFORM=ON
+               -DSKIA_DIR="${S}/skia-${SKIA_REV}/"
+               -DSKIA_LIBRARY_DIR="${S}/skia-${SKIA_REV}/out/Static/"
+               -DSKIA_LIBRARY="${S}/skia-${SKIA_REV}/out/Static/libskia.a"
+               
-DSKSHAPER_LIBRARY="${S}/skia-${SKIA_REV}/out/Static/libskshaper.a"
+               -DUSE_SHARED_CMARK=ON
+               -DUSE_SHARED_CURL=ON
+               -DUSE_SHARED_FMT=ON
+               -DUSE_SHARED_FREETYPE=ON
+               -DUSE_SHARED_GIFLIB=ON
+               -DUSE_SHARED_HARFBUZZ=ON
+               -DUSE_SHARED_JPEGLIB=ON
+               -DUSE_SHARED_JSON11=OFF         # Custom methods added to 
bundled version
+               -DUSE_SHARED_LIBARCHIVE=ON
+               -DUSE_SHARED_LIBPNG=ON
+               -DUSE_SHARED_PIXMAN=ON
+               -DUSE_SHARED_TINYXML=ON
+               -DUSE_SHARED_WEBP=ON
+               -DUSE_SHARED_ZLIB=ON
+       )
+       cmake_src_configure
+}
+
+src_compile() {
+       einfo "Skia compilation"
+       pushd skia-${SKIA_REV} > /dev/null || die
+               eninja -C out/Static
+       popd > /dev/null || die
+
+       einfo "Aseprite compilation"
+       cmake_src_compile
+}
+
+src_install() {
+       newicon -s 64 "${S}/data/icons/ase64.png" "${PN}.png"
+       cmake_src_install
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+       xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+       xdg_mimeinfo_database_update
+}

diff --git a/dev-games/aseprite/files/aseprite-1.3.13_shared_libarchive.patch 
b/dev-games/aseprite/files/aseprite-1.3.13_shared_libarchive.patch
new file mode 100644
index 000000000000..ce3b2f295132
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.13_shared_libarchive.patch
@@ -0,0 +1,66 @@
+From 9a09ef3996bc65e131651c07db5ba57d87417844 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <[email protected]>
+Date: Fri, 9 Oct 2020 02:18:36 +0300
+Subject: [PATCH 1/4] Make LibArchive as shared library dependency
+
+Signed-off-by: Azamat H. Hackimov <[email protected]>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -69,6 +69,7 @@ option(USE_SHARED_CURL    "Use your installed copy of curl" 
off)
+ option(USE_SHARED_GIFLIB  "Use your installed copy of giflib" off)
+ option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
+ option(USE_SHARED_ZLIB    "Use your installed copy of zlib" off)
++option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
+ option(USE_SHARED_LIBPNG  "Use your installed copy of libpng" off)
+ option(USE_SHARED_TINYEXIF "Use your installed copy of TinyEXIF" off)
+ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
+@@ -239,6 +240,16 @@ else()
+ endif()
+ include_directories(${ZLIB_INCLUDE_DIRS})
+ 
++# libarchive
++if(USE_SHARED_LIBARCHIVE)
++  find_package(LibArchive REQUIRED)
++else()
++  set(LibArchive_FOUND)
++  set(LibArchive_LIBRARIES archive_static)
++  set(LibArchive_INCLUDE_DIRS 
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
++endif()
++include_directories(${LibArchive_INCLUDE_DIRS})
++
+ # libpng
+ if(USE_SHARED_LIBPNG)
+   find_package(PNG REQUIRED)
+--- a/src/app/CMakeLists.txt
++++ b/src/app/CMakeLists.txt
+@@ -752,8 +752,8 @@ target_link_libraries(app-lib
+   ${GIF_LIBRARIES}
+   ${PNG_LIBRARIES}
+   ${ZLIB_LIBRARIES}
++  ${LibArchive_LIBRARIES}
+   json11
+-  archive_static
+   fmt
+   tinyexpr
+   qoi)
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -130,6 +130,7 @@ endif()
+ add_subdirectory(json11)
+ 
+ # libarchive
++if(NOT USE_SHARED_LIBARCHIVE)
+ set(HAVE_WCSCPY 1)
+ set(HAVE_WCSLEN 1)
+ 
+@@ -151,6 +152,7 @@ set(ENABLE_LIBB2 OFF CACHE BOOL "Enable the use of the 
system LIBB2 library if f
+ add_subdirectory(libarchive)
+ target_include_directories(archive_static INTERFACE
+   $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
++endif()
+ 
+ # benchmark
+ if(ENABLE_BENCHMARKS)
+-- 
+2.48.1
+

diff --git a/dev-games/aseprite/files/aseprite-1.3.13_shared_tinyxml2.patch 
b/dev-games/aseprite/files/aseprite-1.3.13_shared_tinyxml2.patch
new file mode 100644
index 000000000000..22f7cab12e0d
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.13_shared_tinyxml2.patch
@@ -0,0 +1,18 @@
+From 196418c19095c77a33d690a9762e1c9c373228ea Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <[email protected]>
+Date: Sat, 29 Mar 2025 02:36:18 +0300
+Subject: [PATCH] Fix linking with third_party library
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -278,6 +278,7 @@ add_definitions(-DPNG_NO_MMX_CODE) # Do not use MMX 
optimizations in PNG code
+ if(USE_SHARED_TINYXML)
+   find_library(TINYXML_LIBRARY NAMES tinyxml2)
+   find_path(TINYXML_INCLUDE_DIR NAMES tinyxml2.h)
++  find_package(tinyxml2 REQUIRED)
+ else()
+   set(TINYXML_LIBRARY tinyxml2)
+   set(TINYXML_INCLUDE_DIR ${TINYXML_DIR})
+-- 
+2.48.1
+

diff --git a/dev-games/aseprite/files/aseprite-1.3.13_shared_webp.patch 
b/dev-games/aseprite/files/aseprite-1.3.13_shared_webp.patch
new file mode 100644
index 000000000000..22a63bf05431
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.13_shared_webp.patch
@@ -0,0 +1,73 @@
+From 95f9568b4fa27eac5ccd5c6a943335f89c49b450 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <[email protected]>
+Date: Sun, 10 Jul 2022 20:14:00 +0300
+Subject: [PATCH 3/4] Use shared webp library
+
+Added option -DUSE_SHARED_WEBP
+
+Signed-off-by: Azamat H. Hackimov <[email protected]>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -75,6 +75,7 @@ option(USE_SHARED_LIBPNG  "Use your installed copy of 
libpng" off)
+ option(USE_SHARED_TINYEXIF "Use your installed copy of TinyEXIF" off)
+ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
+ option(USE_SHARED_PIXMAN  "Use your installed copy of pixman" off)
++option(USE_SHARED_WEBP    "Use your installed copy of webp" off)
+ option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
+ option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
+ option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
+@@ -386,21 +387,27 @@ add_subdirectory(laf)
+ 
+ # libwebp
+ if(ENABLE_WEBP)
+-  # Use libwebp from Skia
+-  if(LAF_BACKEND STREQUAL "skia")
+-    find_library(WEBP_LIBRARIES webp
+-      NAMES libwebp # required for Windows
+-      PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+-    set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
+-    if(WEBP_LIBRARIES)
+-      set(WEBP_FOUND ON)
++  if(USE_SHARED_WEBP)
++    find_package(PkgConfig QUIET)
++    pkg_check_modules(WEBP libwebp libwebpdemux libwebpmux)
++    include_directories(${WEBP_INCLUDE_DIR})
++  else()
++    # Use libwebp from Skia
++    if(LAF_BACKEND STREQUAL "skia")
++      find_library(WEBP_LIBRARIES webp
++        NAMES libwebp # required for Windows
++        PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
++      set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
++      if(WEBP_LIBRARIES)
++        set(WEBP_FOUND ON)
++      else()
++        set(WEBP_FOUND OFF)
++      endif()
+     else()
+-      set(WEBP_FOUND OFF)
++      set(WEBP_FOUND ON)
++      set(WEBP_LIBRARIES webp webpdemux libwebpmux)
++      set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
+     endif()
+-  else()
+-    set(WEBP_FOUND ON)
+-    set(WEBP_LIBRARIES webp webpdemux libwebpmux)
+-    set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
+   endif()
+ endif()
+ message(STATUS "aseprite libwebp: ${WEBP_LIBRARIES}")
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -33,7 +33,7 @@ if(NOT USE_SHARED_GIFLIB)
+   add_subdirectory(giflib)
+ endif()
+ 
+-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
++if(ENABLE_WEBP AND NOT USE_SHARED_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+   set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
+   set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "Build animation utilities.")
+   set(WEBP_BUILD_CWEBP OFF CACHE BOOL "Build the cwebp command line tool.")
+-- 
+2.48.1
+

diff --git a/dev-games/aseprite/files/aseprite-1.3.13_strict-aliasing.patch 
b/dev-games/aseprite/files/aseprite-1.3.13_strict-aliasing.patch
new file mode 100644
index 000000000000..377ff25e359f
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.13_strict-aliasing.patch
@@ -0,0 +1,49 @@
+From 896b7ffc1767e0d687835b14e80fe9db3ddfbb4c Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <[email protected]>
+Date: Tue, 2 Jan 2024 21:09:04 +0300
+Subject: [PATCH] Fix strict-aliasing warnings
+
+--- a/src/dio/aseprite_decoder.cpp
++++ b/src/dio/aseprite_decoder.cpp
+@@ -28,10 +28,20 @@
+ #include "zlib.h"
+ 
+ #include <cstdio>
++#include <cstring>
+ #include <vector>
+ 
+ namespace dio {
+ 
++template <typename T>
++T
++copy_reinterpret_cast(const void* ptr)
++{
++  T tmp;
++  std::memcpy(&tmp, ptr, sizeof(T));
++  return tmp;
++}
++
+ bool AsepriteDecoder::decode()
+ {
+   bool ignore_old_color_chunks = false;
+@@ -413,7 +423,7 @@ float AsepriteDecoder::readFloat()
+ 
+   // Little endian.
+   int v = ((b4 << 24) | (b3 << 16) | (b2 << 8) | b1);
+-  return *reinterpret_cast<float*>(&v);
++  return *copy_reinterpret_cast<float*>(&v);
+ }
+ 
+ double AsepriteDecoder::readDouble()
+@@ -448,7 +458,7 @@ double AsepriteDecoder::readDouble()
+   long long v = (((long long)b8 << 56) | ((long long)b7 << 48) | ((long 
long)b6 << 40) |
+                  ((long long)b5 << 32) | ((long long)b4 << 24) | ((long 
long)b3 << 16) |
+                  ((long long)b2 << 8) | (long long)b1);
+-  return *reinterpret_cast<double*>(&v);
++  return *copy_reinterpret_cast<double*>(&v);
+ }
+ 
+ doc::Palette* AsepriteDecoder::readColorChunk(doc::Palette* prevPal, 
doc::frame_t frame)
+-- 
+2.48.1
+

Reply via email to