Hello community, here is the log from the commit of package libwpe for openSUSE:Factory checked in at 2020-04-23 18:29:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libwpe (Old) and /work/SRC/openSUSE:Factory/.libwpe.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libwpe" Thu Apr 23 18:29:00 2020 rev:3 rq:795997 version:1.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libwpe/libwpe.changes 2019-10-07 14:14:23.874843396 +0200 +++ /work/SRC/openSUSE:Factory/.libwpe.new.2738/libwpe.changes 2020-04-23 18:29:06.171934523 +0200 @@ -1,0 +2,11 @@ +Thu Mar 12 12:49:59 UTC 2020 - Bjørn Lie <[email protected]> + +- Update to version 1.6.0: + + Added support for smooth 2D axis input events. + + Ensure that only symbols marked with WPE_EXPORT are public. + + Improved robustness of the CMake build system. +- Changes from version 1.5.90: + + Added support for smooth 2D axis input events. + + Improved robustness of the CMake build system. + +------------------------------------------------------------------- Old: ---- libwpe-1.4.0.1.tar.xz New: ---- libwpe-1.6.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libwpe.spec ++++++ --- /var/tmp/diff_new_pack.coOyhl/_old 2020-04-23 18:29:09.059940048 +0200 +++ /var/tmp/diff_new_pack.coOyhl/_new 2020-04-23 18:29:09.063940055 +0200 @@ -1,7 +1,7 @@ # # spec file for package libwpe # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %define sover 1_0-1 Name: libwpe -Version: 1.4.0.1 +Version: 1.6.0 Release: 0 Summary: General-purpose library for the WPE-flavored port of WebKit License: BSD-2-Clause ++++++ libwpe-1.4.0.1.tar.xz -> libwpe-1.6.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/CMakeLists.txt new/libwpe-1.6.0/CMakeLists.txt --- old/libwpe-1.4.0.1/CMakeLists.txt 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/CMakeLists.txt 2020-03-11 23:35:46.000000000 +0100 @@ -4,7 +4,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") include(VersioningUtils) -SET_PROJECT_VERSION(1 4 0) +SET_PROJECT_VERSION(1 6 0) set(WPE_API_VERSION "1.0") # Before making a release, the LT_VERSION string should be modified. @@ -14,10 +14,13 @@ # - If binary compatibility has been broken (eg removed or changed interfaces) # change to C+1:0:0 # - If the interface is the same as the previous version, change to C:R+1:A -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(LIBWPE 3 3 2) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(LIBWPE 4 2 3) project(libwpe VERSION "${PROJECT_VERSION}") +set(WPE_BACKEND "" CACHE STRING + "Name of the backend library to load, instead of libWPEBackend-default.so") + include(CheckCCompilerFlag) include(CheckCXXCompilerFlag) @@ -48,39 +51,6 @@ find_package(EGL REQUIRED) find_package(Libxkbcommon REQUIRED) -add_definitions(${EGL_DEFINITIONS}) -add_definitions(-DWPE_COMPILATION) - -if(WPE_BACKEND) - add_definitions(-DWPE_BACKEND=\"${WPE_BACKEND}\") -endif() - -set(WPE_INCLUDE_DIRECTORIES - "include" - "src" - ${DERIVED_SOURCES_DIR} - ${EGL_INCLUDE_DIRS} - ${LIBXKBCOMMON_INCLUDE_DIRS} -) - -set(WPE_LIBRARIES - dl - ${LIBXKBCOMMON_LIBRARIES} -) - -set(WPE_SOURCES - src/input.c - src/key-unicode.c - src/loader.c - src/pasteboard.c - src/pasteboard-generic.cpp - src/pasteboard-noop.cpp - src/renderer-backend-egl.c - src/renderer-host.c - src/version.c - src/view-backend.c -) - set(WPE_PUBLIC_HEADERS ${DERIVED_SOURCES_DIR}/version.h ${DERIVED_SOURCES_DIR}/version-deprecated.h @@ -96,11 +66,39 @@ include/wpe/wpe.h ) -add_library(wpe SHARED ${WPE_SOURCES}) -target_include_directories(wpe PRIVATE ${WPE_INCLUDE_DIRECTORIES}) -target_link_libraries(wpe ${WPE_LIBRARIES}) +add_library(wpe SHARED + src/input.c + src/key-unicode.c + src/loader.c + src/pasteboard.c + src/pasteboard-generic.cpp + src/pasteboard-noop.cpp + src/renderer-backend-egl.c + src/renderer-host.c + src/version.c + src/view-backend.c +) +target_include_directories(wpe PRIVATE + "include" + "src" + ${DERIVED_SOURCES_DIR} + $<TARGET_PROPERTY:GL::egl,INTERFACE_INCLUDE_DIRECTORIES> +) +target_compile_definitions(wpe PRIVATE + WPE_COMPILATION + $<TARGET_PROPERTY:GL::egl,INTERFACE_COMPILE_DEFINITIONS> +) +if (WPE_BACKEND) + target_compile_definitions(wpe PRIVATE WPE_BACKEND=\"${WPE_BACKEND}\") +endif() +target_compile_options(wpe PRIVATE + $<TARGET_PROPERTY:GL::egl,INTERFACE_COMPILE_OPTIONS> +) +target_link_libraries(wpe PRIVATE XkbCommon::libxkbcommon ${CMAKE_DL_LIBS}) set_target_properties(wpe PROPERTIES + C_VISIBILITY_PRESET hidden + CXX_VISIBILITY_PRESET hidden OUTPUT_NAME wpe-${WPE_API_VERSION} VERSION ${LIBWPE_VERSION} SOVERSION ${LIBWPE_VERSION_MAJOR} @@ -156,4 +154,4 @@ ELSE() MESSAGE(FATAL_ERROR "Hotdoc C extension not found... can't build the documentation.") ENDIF() -ENDIF() \ No newline at end of file +ENDIF() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/NEWS new/libwpe-1.6.0/NEWS --- old/libwpe-1.4.0.1/NEWS 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/NEWS 2020-03-11 23:35:46.000000000 +0100 @@ -1,24 +1,15 @@ -========================= -1.4.0.1 - October 1, 2019 -========================= +====================== +1.6.0 - March 11, 2020 +====================== + +- Ensure that only symbols marked with WPE_EXPORT are public. + +====================== +1.5.90 - March 2, 2020 +====================== -- Fix the version numbers to ensure 1.4.0 is used when building from - tarballs. - -========================== -1.4.0 - September 18, 2019 -========================== - -- This release does not contain changes over the 1.3.91 release candidate. - -========================== -1.3.91 - September 9, 2019 -========================== - -- Enabled compiler warnings. -- Fix build failure on systems where libxkbcommon has its headers installed - in a non-standard location. -- Fix documentation build. +- Added support for smooth 2D axis input events. +- Improved robustness of the CMake build system. ===================== 1.3.1 - June 17, 2019 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/cmake/FindEGL.cmake new/libwpe-1.6.0/cmake/FindEGL.cmake --- old/libwpe-1.4.0.1/cmake/FindEGL.cmake 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/cmake/FindEGL.cmake 2020-03-11 23:35:46.000000000 +0100 @@ -1,13 +1,12 @@ # - Try to Find EGL # Once done, this will define # -# EGL_FOUND - system has EGL installed. -# EGL_INCLUDE_DIRS - directories which contain the EGL headers. -# EGL_LIBRARIES - libraries required to link against EGL. -# EGL_DEFINITIONS - Compiler switches required for using EGL. +# GL::egl - an imported library target. +# EGL_FOUND - a boolean variable. +# EGL_INCLUDE_DIR - directory containing the EGL/egl.h header. +# EGL_LIBRARY - path to the EGL library. # -# Copyright (C) 2012 Intel Corporation. All rights reserved. -# Copyright (C) 2017 Igalia S.L. +# Copyright (C) 2019 Igalia S.L. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -32,20 +31,34 @@ find_package(PkgConfig) +pkg_check_modules(EGL IMPORTED_TARGET egl) -pkg_check_modules(PC_EGL egl) - -if (PC_EGL_FOUND) - set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER}) -endif () - -find_path(EGL_INCLUDE_DIRS NAMES EGL/eglplatform.h - HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS} +find_path(EGL_INCLUDE_DIR + NAMES EGL/egl.h + HINTS ${EGL_INCLUDEDIR} ${EGL_INCLUDE_DIRS} +) +find_library(EGL_LIBRARY + NAMES egl EGL + HINTS ${EGL_LIBDIR} ${EGL_LIBRARY_DIRS} ) +mark_as_advanced(EGL_INCLUDE_DIR EGL_LIBRARY) -set(EGL_INCLUDE_DIRS ${PC_EGL_INCLUDE_DIRS} CACHE FILEPATH "FIXME") +# If pkg-config has not found the module but find_path+find_library have +# figured out where the header and library are, create the PkgConfig::EGL +# imported target anyway with the found paths. +# +if (EGL_LIBRARIES AND NOT TARGET GL::egl) + add_library(GL::egl INTERFACE IMPORTED) + if (TARGET PkgConfig::EGL) + set_property(TARGET GL::egl PROPERTY + INTERFACE_LINK_LIBRARIES PkgConfig::EGL) + else () + set_property(TARGET GL::egl PROPERTY + INTERFACE_LINK_LIBRARIES ${EGL_LIBRARY}) + set_property(TARGET GL::egl PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${EGL_INCLUDE_DIR}) + endif () +endif () include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS) - -mark_as_advanced(EGL_INCLUDE_DIRS) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL REQUIRED_VARS EGL_LIBRARY EGL_INCLUDE_DIR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/cmake/FindLibxkbcommon.cmake new/libwpe-1.6.0/cmake/FindLibxkbcommon.cmake --- old/libwpe-1.4.0.1/cmake/FindLibxkbcommon.cmake 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/cmake/FindLibxkbcommon.cmake 2020-03-11 23:35:46.000000000 +0100 @@ -1,11 +1,12 @@ # - Try to find libxkbcommon. # Once done, this will define # +# XkbCommon::libxkbcommon # LIBXKBCOMMON_FOUND - system has libxkbcommon. -# LIBXKBCOMMON_INCLUDE_DIRS - the libxkbcommon include directories -# LIBXKBCOMMON_LIBRARIES - link these to use libxkbcommon. +# LIBXKBCOMMON_INCLUDE_DIR - directory containing the xkbcommon include directories +# LIBXKBCOMMON_LIBRARY - link these to use libxkbcommon. # -# Copyright (C) 2014 Igalia S.L. +# Copyright (C) 2014, 2019 Igalia S.L. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -29,8 +30,35 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. find_package(PkgConfig) -pkg_check_modules(LIBXKBCOMMON xkbcommon) +pkg_check_modules(LIBXKBCOMMON IMPORTED_TARGET xkbcommon) + +find_path(LIBXKBCOMMON_INCLUDE_DIR + NAMES xkbcommon/xkbcommon.h + HINTS ${LIBXKBCOMMON_INCLUDEDIR} ${LIBXKBCOMMON_INCLUDE_DIRS} +) +find_library(LIBXKBCOMMON_LIBRARY + NAMES xkbcommon + HINTS ${LIBXKBCOMMON_LIBDIR} ${LIBXKBCOMMON_LIBRARY_DIRS} +) + +# If pkg-config has not found the module but find_path+find_library have +# figured out where the header and library are, create the +# XkbCommon::Libxkbcommon imported target anyway with the found paths. +# +if (LIBXKBCOMMON_LIBRARY AND NOT TARGET XkbCommon::libxkbcommon) + add_library(XkbCommon::libxkbcommon INTERFACE IMPORTED) + if (TARGET PkgConfig::LIBXKBCOMMON) + set_property(TARGET XkbCommon::libxkbcommon PROPERTY + INTERFACE_LINK_LIBRARIES PkgConfig::LIBXKBCOMMON) + else () + set_property(TARGET XkbCommon::libxkbcommon PROPERTY + INTERFACE_LINK_LIBRARIES ${LIBXKBCOMMON_LIBRARY}) + set_property(TARGET XkbCommon::libxkbcommon PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${LIBXKBCOMMON_INCLUDE_DIR}) + endif () +endif () + include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Libxkbcommon REQUIRED_VARS LIBXKBCOMMON_FOUND - FOUND_VAR LIBXKBCOMMON_FOUND) +find_package_handle_standard_args(LIBXKBCOMMON REQUIRED_VARS + LIBXKBCOMMON_LIBRARY LIBXKBCOMMON_INCLUDE_DIR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/include/wpe/input.h new/libwpe-1.6.0/include/wpe/input.h --- old/libwpe-1.4.0.1/include/wpe/input.h 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/include/wpe/input.h 2020-03-11 23:35:46.000000000 +0100 @@ -92,6 +92,9 @@ enum wpe_input_axis_event_type { wpe_input_axis_event_type_null, wpe_input_axis_event_type_motion, + wpe_input_axis_event_type_motion_smooth, + + wpe_input_axis_event_type_mask_2d = 1 << 16, }; struct wpe_input_axis_event { @@ -104,6 +107,13 @@ uint32_t modifiers; }; +struct wpe_input_axis_2d_event { + struct wpe_input_axis_event base; + + double x_axis; + double y_axis; +}; + enum wpe_input_touch_event_type { wpe_input_touch_event_type_null, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/include/wpe/renderer-backend-egl.h new/libwpe-1.6.0/include/wpe/renderer-backend-egl.h --- old/libwpe-1.4.0.1/include/wpe/renderer-backend-egl.h 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/include/wpe/renderer-backend-egl.h 2020-03-11 23:35:46.000000000 +0100 @@ -67,6 +67,11 @@ void (*_wpe_reserved3)(void); }; +struct wpe_renderer_backend_egl_base { + const struct wpe_renderer_backend_egl_interface* interface; + void* interface_data; +}; + struct wpe_renderer_backend_egl_target_interface { void* (*create)(struct wpe_renderer_backend_egl_target*, int); void (*destroy)(void*); @@ -84,6 +89,11 @@ void (*_wpe_reserved3)(void); }; +struct wpe_renderer_backend_egl_target_base { + const struct wpe_renderer_backend_egl_target_interface* interface; + void* interface_data; +}; + struct wpe_renderer_backend_egl_offscreen_target_interface { void* (*create)(); void (*destroy)(void*); @@ -98,6 +108,12 @@ void (*_wpe_reserved3)(void); }; +struct wpe_renderer_backend_egl_offscreen_target_base { + const struct wpe_renderer_backend_egl_offscreen_target_interface* interface; + void* interface_data; +}; + + WPE_EXPORT struct wpe_renderer_backend_egl* wpe_renderer_backend_egl_create(int); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/include/wpe/renderer-host.h new/libwpe-1.6.0/include/wpe/renderer-host.h --- old/libwpe-1.4.0.1/include/wpe/renderer-host.h 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/include/wpe/renderer-host.h 2020-03-11 23:35:46.000000000 +0100 @@ -58,6 +58,11 @@ void (*_wpe_reserved3)(void); }; +struct wpe_renderer_host_base { + const struct wpe_renderer_host_interface* interface; + void* interface_data; +}; + WPE_EXPORT int wpe_renderer_host_create_client(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/include/wpe/view-backend.h new/libwpe-1.6.0/include/wpe/view-backend.h --- old/libwpe-1.4.0.1/include/wpe/view-backend.h 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/include/wpe/view-backend.h 2020-03-11 23:35:46.000000000 +0100 @@ -71,6 +71,11 @@ void (*_wpe_reserved3)(void); }; +struct wpe_view_backend_base { + const struct wpe_view_backend_interface* interface; + void* interface_data; +}; + WPE_EXPORT struct wpe_view_backend* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/src/renderer-backend-egl-private.h new/libwpe-1.6.0/src/renderer-backend-egl-private.h --- old/libwpe-1.4.0.1/src/renderer-backend-egl-private.h 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/src/renderer-backend-egl-private.h 2020-03-11 23:35:46.000000000 +0100 @@ -28,21 +28,18 @@ #define wpe_renderer_backend_egl_private_h struct wpe_renderer_backend_egl { - const struct wpe_renderer_backend_egl_interface* interface; - void* interface_data; + struct wpe_renderer_backend_egl_base base; }; struct wpe_renderer_backend_egl_target { - const struct wpe_renderer_backend_egl_target_interface* interface; - void* interface_data; + struct wpe_renderer_backend_egl_target_base base; const struct wpe_renderer_backend_egl_target_client* client; void* client_data; }; struct wpe_renderer_backend_egl_offscreen_target { - const struct wpe_renderer_backend_egl_offscreen_target_interface* interface; - void* interface_data; + struct wpe_renderer_backend_egl_offscreen_target_base base; }; #endif // wpe_renderer_backend_egl_private_h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/src/renderer-backend-egl.c new/libwpe-1.6.0/src/renderer-backend-egl.c --- old/libwpe-1.4.0.1/src/renderer-backend-egl.c 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/src/renderer-backend-egl.c 2020-03-11 23:35:46.000000000 +0100 @@ -37,13 +37,13 @@ if (!backend) return 0; - backend->interface = wpe_load_object("_wpe_renderer_backend_egl_interface"); - if (!backend->interface) { + backend->base.interface = wpe_load_object("_wpe_renderer_backend_egl_interface"); + if (!backend->base.interface) { free(backend); return 0; } - backend->interface_data = backend->interface->create(host_fd); + backend->base.interface_data = backend->base.interface->create(host_fd); return backend; } @@ -51,8 +51,8 @@ void wpe_renderer_backend_egl_destroy(struct wpe_renderer_backend_egl* backend) { - backend->interface->destroy(backend->interface_data); - backend->interface_data = 0; + backend->base.interface->destroy(backend->base.interface_data); + backend->base.interface_data = 0; free(backend); } @@ -60,14 +60,14 @@ EGLNativeDisplayType wpe_renderer_backend_egl_get_native_display(struct wpe_renderer_backend_egl* backend) { - return backend->interface->get_native_display(backend->interface_data); + return backend->base.interface->get_native_display(backend->base.interface_data); } uint32_t wpe_renderer_backend_egl_get_platform(struct wpe_renderer_backend_egl* backend) { - if (backend->interface->get_platform) - return backend->interface->get_platform(backend->interface_data); + if (backend->base.interface->get_platform) + return backend->base.interface->get_platform(backend->base.interface_data); return 0; } @@ -78,13 +78,13 @@ if (!target) return 0; - target->interface = wpe_load_object("_wpe_renderer_backend_egl_target_interface"); - if (!target->interface) { + target->base.interface = wpe_load_object("_wpe_renderer_backend_egl_target_interface"); + if (!target->base.interface) { free(target); return 0; } - target->interface_data = target->interface->create(target, host_fd); + target->base.interface_data = target->base.interface->create(target, host_fd); return target; } @@ -92,8 +92,8 @@ void wpe_renderer_backend_egl_target_destroy(struct wpe_renderer_backend_egl_target* target) { - target->interface->destroy(target->interface_data); - target->interface_data = 0; + target->base.interface->destroy(target->base.interface_data); + target->base.interface_data = 0; target->client = 0; target->client_data = 0; @@ -111,31 +111,31 @@ void wpe_renderer_backend_egl_target_initialize(struct wpe_renderer_backend_egl_target* target, struct wpe_renderer_backend_egl* backend, uint32_t width, uint32_t height) { - target->interface->initialize(target->interface_data, backend->interface_data, width, height); + target->base.interface->initialize(target->base.interface_data, backend->base.interface_data, width, height); } EGLNativeWindowType wpe_renderer_backend_egl_target_get_native_window(struct wpe_renderer_backend_egl_target* target) { - return target->interface->get_native_window(target->interface_data); + return target->base.interface->get_native_window(target->base.interface_data); } void wpe_renderer_backend_egl_target_resize(struct wpe_renderer_backend_egl_target* target, uint32_t width, uint32_t height) { - target->interface->resize(target->interface_data, width, height); + target->base.interface->resize(target->base.interface_data, width, height); } void wpe_renderer_backend_egl_target_frame_will_render(struct wpe_renderer_backend_egl_target* target) { - target->interface->frame_will_render(target->interface_data); + target->base.interface->frame_will_render(target->base.interface_data); } void wpe_renderer_backend_egl_target_frame_rendered(struct wpe_renderer_backend_egl_target* target) { - target->interface->frame_rendered(target->interface_data); + target->base.interface->frame_rendered(target->base.interface_data); } struct wpe_renderer_backend_egl_offscreen_target* @@ -145,13 +145,13 @@ if (!target) return 0; - target->interface = wpe_load_object("_wpe_renderer_backend_egl_offscreen_target_interface"); - if (!target->interface) { + target->base.interface = wpe_load_object("_wpe_renderer_backend_egl_offscreen_target_interface"); + if (!target->base.interface) { free(target); return 0; } - target->interface_data = target->interface->create(); + target->base.interface_data = target->base.interface->create(); return target; } @@ -159,8 +159,8 @@ void wpe_renderer_backend_egl_offscreen_target_destroy(struct wpe_renderer_backend_egl_offscreen_target* target) { - target->interface->destroy(target->interface_data); - target->interface_data = 0; + target->base.interface->destroy(target->base.interface_data); + target->base.interface_data = 0; free(target); } @@ -168,13 +168,13 @@ void wpe_renderer_backend_egl_offscreen_target_initialize(struct wpe_renderer_backend_egl_offscreen_target* target, struct wpe_renderer_backend_egl* backend) { - target->interface->initialize(target->interface_data, backend->interface_data); + target->base.interface->initialize(target->base.interface_data, backend->base.interface_data); } EGLNativeWindowType wpe_renderer_backend_egl_offscreen_target_get_native_window(struct wpe_renderer_backend_egl_offscreen_target* target) { - return target->interface->get_native_window(target->interface_data); + return target->base.interface->get_native_window(target->base.interface_data); } void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/src/renderer-host-private.h new/libwpe-1.6.0/src/renderer-host-private.h --- old/libwpe-1.4.0.1/src/renderer-host-private.h 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/src/renderer-host-private.h 2020-03-11 23:35:46.000000000 +0100 @@ -27,13 +27,14 @@ #ifndef wpe_renderer_host_private_h #define wpe_renderer_host_private_h +#include <wpe/renderer-host.h> + #ifdef __cplusplus extern "C" { #endif struct wpe_renderer_host { - const struct wpe_renderer_host_interface* interface; - void* interface_data; + struct wpe_renderer_host_base base; }; #ifdef __cplusplus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/src/renderer-host.c new/libwpe-1.6.0/src/renderer-host.c --- old/libwpe-1.4.0.1/src/renderer-host.c 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/src/renderer-host.c 2020-03-11 23:35:46.000000000 +0100 @@ -24,10 +24,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <wpe/renderer-host.h> +#include "renderer-host-private.h" #include "loader-private.h" -#include "renderer-host-private.h" #include <stdlib.h> int @@ -39,11 +38,11 @@ if (!s_renderer_host) return -1; - s_renderer_host->interface = wpe_load_object("_wpe_renderer_host_interface"); - s_renderer_host->interface_data = s_renderer_host->interface->create(); + s_renderer_host->base.interface = wpe_load_object("_wpe_renderer_host_interface"); + s_renderer_host->base.interface_data = s_renderer_host->base.interface->create(); // FIXME: atexit() should clean up the object. } - return s_renderer_host->interface->create_client(s_renderer_host->interface_data); + return s_renderer_host->base.interface->create_client(s_renderer_host->base.interface_data); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/src/view-backend-private.h new/libwpe-1.6.0/src/view-backend-private.h --- old/libwpe-1.4.0.1/src/view-backend-private.h 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/src/view-backend-private.h 2020-03-11 23:35:46.000000000 +0100 @@ -34,8 +34,7 @@ #endif struct wpe_view_backend { - const struct wpe_view_backend_interface* interface; - void* interface_data; + struct wpe_view_backend_base base; const struct wpe_view_backend_client* backend_client; void* backend_client_data; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.4.0.1/src/view-backend.c new/libwpe-1.6.0/src/view-backend.c --- old/libwpe-1.4.0.1/src/view-backend.c 2019-10-01 15:26:02.000000000 +0200 +++ new/libwpe-1.6.0/src/view-backend.c 2020-03-11 23:35:46.000000000 +0100 @@ -24,10 +24,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <wpe/view-backend.h> +#include "view-backend-private.h" #include "loader-private.h" -#include "view-backend-private.h" #include <stdlib.h> @@ -48,8 +47,8 @@ if (!backend) return 0; - backend->interface = interface; - backend->interface_data = backend->interface->create(interface_user_data, backend); + backend->base.interface = interface; + backend->base.interface_data = backend->base.interface->create(interface_user_data, backend); return backend; } @@ -57,8 +56,8 @@ void wpe_view_backend_destroy(struct wpe_view_backend* backend) { - backend->interface->destroy(backend->interface_data); - backend->interface_data = 0; + backend->base.interface->destroy(backend->base.interface_data); + backend->base.interface_data = 0; backend->backend_client = 0; backend->backend_client_data = 0; @@ -97,13 +96,13 @@ void wpe_view_backend_initialize(struct wpe_view_backend* backend) { - backend->interface->initialize(backend->interface_data); + backend->base.interface->initialize(backend->base.interface_data); } int wpe_view_backend_get_renderer_host_fd(struct wpe_view_backend* backend) { - return backend->interface->get_renderer_host_fd(backend->interface_data); + return backend->base.interface->get_renderer_host_fd(backend->base.interface_data); } void
