diff --git a/radio/src/thirdparty/libopenui/src/bitmapbuffer.cpp b/radio/src/thirdparty/libopenui/src/bitmapbuffer.cpp index 6548b4abf..303eb350b 100755 --- a/radio/src/thirdparty/libopenui/src/bitmapbuffer.cpp +++ b/radio/src/thirdparty/libopenui/src/bitmapbuffer.cpp @@ -901,6 +901,7 @@ void *stb_realloc(void *ptr, unsigned int oldsz, unsigned int newsz) } #endif // #if defined(TRACE_STB_MALLOC) +#include "memcpy.h" #include "thirdparty/Stb/stb_image.h" // fill 'data' with 'size' bytes. return number of bytes actually read @@ -954,7 +955,7 @@ BitmapBuffer * BitmapBuffer::load_stb(const char * filename) // convert to RGB565 or ARGB4444 format BitmapBuffer * bmp = new BitmapBuffer(n == 4 ? BMP_ARGB4444 : BMP_RGB565, w, h); - if (bmp == NULL) { + if (bmp == nullptr) { TRACE("load_stb() malloc failed"); stbi_image_free(img); return nullptr; diff --git a/radio/src/thirdparty/libopenui/src/memcpy.h b/radio/src/thirdparty/libopenui/src/memcpy.h new file mode 100644 index 000000000..10ff167df --- /dev/null +++ b/radio/src/thirdparty/libopenui/src/memcpy.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) OpenTX + * + * Source: + * https://github.com/opentx/libopenui + * + * This file is a part of libopenui library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + */ + +#ifndef _MEMCPY_H_ +#define _MEMCPY_H_ + +#include + +#if !defined(SIMU) + +inline void safeMemcpy(void * dest, const void * src, unsigned int size) +{ + if (((uint32_t)dest & 0x03) || ((uint32_t)src & 0x03)) { + for (int i = 0; i < size; i++) { + ((uint8_t *)dest)[i] = ((uint8_t *)src)[i]; + } + } + else { + memcpy(dest, src, size); + } +} + +#define memcpy safeMemcpy + +#endif + +#endif // _HELPERS_H_