mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 11:35:38 -04:00
[librpbase] RpPng::load(): Take IRpFile* instead of IRpFilePtr. (BREAKING CHANGE; SOVERSION bumped to 6)
In many cases, an IRpFilePtr isn't actually needed here, so make the base function take just IRpFile*. Add a static inline wrapper that takes IRpFilePtr. J2MEPrivate::loadIcon(): Get rid of MemFilePtr, since we don't actually need it here. Use a plain MemFile* instead.
This commit is contained in:
parent
5d618e66aa
commit
e0abbe20bb
18
debian/control
vendored
18
debian/control
vendored
@ -42,7 +42,7 @@ Vcs-Browser: https://github.com/GerbilSoft/rom-properties
|
||||
|
||||
Package: rom-properties-all
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, libromdata5, rom-properties-kde4, rom-properties-kf5, rom-properties-xfce, rom-properties-gtk3, rom-properties-cli, rom-properties-tracker, rom-properties-utils, rom-properties-lang, rom-properties-thumbnailer-dbus
|
||||
Depends: ${misc:Depends}, libromdata6, rom-properties-kde4, rom-properties-kf5, rom-properties-xfce, rom-properties-gtk3, rom-properties-cli, rom-properties-tracker, rom-properties-utils, rom-properties-lang, rom-properties-thumbnailer-dbus
|
||||
Description: ROM Properties Page shell extension
|
||||
This shell extension provides thumbnailing and property page functionality
|
||||
for ROM images, disc images, and save files for various game consoles,
|
||||
@ -50,7 +50,7 @@ Description: ROM Properties Page shell extension
|
||||
.
|
||||
This is a meta-package that installs all rom-properties packages.
|
||||
|
||||
Package: libromdata5
|
||||
Package: libromdata6
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, rom-properties-data
|
||||
Description: ROM Properties Page shell extension
|
||||
@ -63,7 +63,7 @@ Description: ROM Properties Page shell extension
|
||||
|
||||
Package: rom-properties-kde4
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg
|
||||
Recommends: rom-properties-lang
|
||||
Description: ROM Properties Page shell extension
|
||||
This shell extension provides thumbnailing and property page functionality
|
||||
@ -74,7 +74,7 @@ Description: ROM Properties Page shell extension
|
||||
|
||||
Package: rom-properties-kio-servicemenus
|
||||
Architecture: all
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils
|
||||
Conflicts: rom-properties-kf5 (<< 2.3)
|
||||
Replaces: rom-properties-kf5 (<< 2.3)
|
||||
Description: ROM Properties Page shell extension
|
||||
@ -86,7 +86,7 @@ Description: ROM Properties Page shell extension
|
||||
|
||||
Package: rom-properties-kf5
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg, rom-properties-kio-servicemenus
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg, rom-properties-kio-servicemenus
|
||||
Recommends: rom-properties-lang
|
||||
Conflicts: rom-properties-kde5
|
||||
Replaces: rom-properties-kde5
|
||||
@ -99,7 +99,7 @@ Description: ROM Properties Page shell extension
|
||||
|
||||
Package: rom-properties-xfce
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
||||
Recommends: rom-properties-lang, rom-properties-tracker
|
||||
Description: ROM Properties Page shell extension
|
||||
This shell extension provides thumbnailing and property page functionality
|
||||
@ -113,7 +113,7 @@ Description: ROM Properties Page shell extension
|
||||
|
||||
Package: rom-properties-gtk3
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
||||
Recommends: rom-properties-lang, rom-properties-tracker
|
||||
Conflicts: rom-properties-gnome, rom-properties-mate, rom-properties-cinnamon, rom-properties-gtk3-common
|
||||
Replaces: rom-properties-gnome, rom-properties-mate, rom-properties-cinnamon, rom-properties-gtk3-common
|
||||
@ -132,7 +132,7 @@ Description: ROM Properties Page shell extension
|
||||
|
||||
Package: rom-properties-cli
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6
|
||||
Recommends: rom-properties-lang
|
||||
Description: ROM Properties Page shell extension
|
||||
This shell extension provides thumbnailing and property page functionality
|
||||
@ -143,7 +143,7 @@ Description: ROM Properties Page shell extension
|
||||
|
||||
Package: rom-properties-tracker
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6
|
||||
Description: ROM Properties Page shell extension
|
||||
This shell extension provides thumbnailing and property page functionality
|
||||
for ROM images, disc images, and save files for various game consoles,
|
||||
|
@ -455,8 +455,8 @@ IF(RP_LIBROMDATA_IS_DLL)
|
||||
ADD_DEFINITIONS(-DRP_BUILDING_FOR_DLL=1)
|
||||
# NOTE: Not using the project version here.
|
||||
# This represents the ABI version.
|
||||
SET(${PROJECT_NAME}_VERSION 5.0)
|
||||
SET(${PROJECT_NAME}_SOVERSION 5)
|
||||
SET(${PROJECT_NAME}_VERSION 6.0)
|
||||
SET(${PROJECT_NAME}_SOVERSION 6)
|
||||
IF(MSVC)
|
||||
# Delay-load sources.
|
||||
SET(${PROJECT_NAME}-DELAYLOAD_SRC ../libwin32common/DelayLoadHelper.c)
|
||||
|
@ -502,8 +502,9 @@ rp_image_const_ptr J2MEPrivate::loadIcon(void)
|
||||
|
||||
// Create a MemFile and decode the image.
|
||||
// TODO: For rpcli, shortcut to extract the PNG directly.
|
||||
MemFilePtr f_mem = std::make_shared<MemFile>(png_buf.data(), png_buf.size());
|
||||
MemFile *const f_mem = new MemFile(png_buf.data(), png_buf.size());
|
||||
this->img_icon = RpPng::load(f_mem);
|
||||
delete f_mem;
|
||||
return this->img_icon;
|
||||
}
|
||||
|
||||
|
@ -471,7 +471,7 @@ static rp_image_ptr loadPng(png_structp png_ptr, png_infop info_ptr)
|
||||
* @param file IRpFile to load from
|
||||
* @return rp_image*, or nullptr on error
|
||||
*/
|
||||
rp_image_ptr load(const IRpFilePtr &file)
|
||||
rp_image_ptr load(IRpFile *file)
|
||||
{
|
||||
if (!file)
|
||||
return nullptr;
|
||||
@ -512,7 +512,7 @@ rp_image_ptr load(const IRpFilePtr &file)
|
||||
#endif /* PNG_WARNINGS_SUPPORTED */
|
||||
|
||||
// Initialize the custom I/O handler for IRpFile.
|
||||
png_set_read_fn(png_ptr, file.get(), png_io_IRpFile_read);
|
||||
png_set_read_fn(png_ptr, file, png_io_IRpFile_read);
|
||||
|
||||
// Call the actual PNG image reading function.
|
||||
const rp_image_ptr img = loadPng(png_ptr, info_ptr);
|
||||
|
@ -29,7 +29,17 @@ namespace RpPng {
|
||||
* @return rp_image*, or nullptr on error
|
||||
*/
|
||||
RP_LIBROMDATA_PUBLIC
|
||||
LibRpTexture::rp_image_ptr load(const LibRpFile::IRpFilePtr &file);
|
||||
LibRpTexture::rp_image_ptr load(LibRpFile::IRpFile *file);
|
||||
|
||||
/**
|
||||
* Load a PNG image from an IRpFile.
|
||||
* @param file IRpFile to load from
|
||||
* @return rp_image*, or nullptr on error
|
||||
*/
|
||||
static inline LibRpTexture::rp_image_ptr load(const LibRpFile::IRpFilePtr &file)
|
||||
{
|
||||
return load(file.get());
|
||||
}
|
||||
|
||||
/**
|
||||
* Save an image in PNG format to an IRpFile.
|
||||
|
Loading…
Reference in New Issue
Block a user