Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package glfw for openSUSE:Factory checked in at 2021-12-18 20:29:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glfw (Old) and /work/SRC/openSUSE:Factory/.glfw.new.2520 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glfw" Sat Dec 18 20:29:49 2021 rev:18 rq:940928 version:3.3.6 Changes: -------- --- /work/SRC/openSUSE:Factory/glfw/glfw.changes 2021-11-03 17:25:17.785305409 +0100 +++ /work/SRC/openSUSE:Factory/.glfw.new.2520/glfw.changes 2021-12-18 20:30:16.786243668 +0100 @@ -1,0 +2,9 @@ +Thu Dec 16 15:36:13 UTC 2021 - Danilo Spinella <danilo.spine...@suse.com> + +- Update to version 3.3.6: + * Bugfix: Joysticks connected before init did not get gamepad mappings (#1996) + * [X11] Bugfix: Icon pixel format conversion worked only by accident, + relying on undefined behavior (#1986) + + +------------------------------------------------------------------- Old: ---- glfw-3.3.5.tar.gz New: ---- glfw-3.3.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glfw.spec ++++++ --- /var/tmp/diff_new_pack.R8hAv5/_old 2021-12-18 20:30:17.354243983 +0100 +++ /var/tmp/diff_new_pack.R8hAv5/_new 2021-12-18 20:30:17.362243988 +0100 @@ -24,7 +24,7 @@ %endif %define sover 3 Name: glfw -Version: 3.3.5 +Version: 3.3.6 Release: 0 Summary: Framework for OpenGL application development License: Zlib ++++++ glfw-3.3.5.tar.gz -> glfw-3.3.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/CMakeLists.txt new/glfw-3.3.6/CMakeLists.txt --- old/glfw-3.3.5/CMakeLists.txt 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/CMakeLists.txt 2021-12-08 20:23:20.000000000 +0100 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.0...3.20 FATAL_ERROR) -project(GLFW VERSION 3.3.5 LANGUAGES C) +project(GLFW VERSION 3.3.6 LANGUAGES C) set(CMAKE_LEGACY_CYGWIN_WIN32 OFF) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/CONTRIBUTORS.md new/glfw-3.3.6/CONTRIBUTORS.md --- old/glfw-3.3.5/CONTRIBUTORS.md 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/CONTRIBUTORS.md 2021-12-08 20:23:20.000000000 +0100 @@ -53,6 +53,7 @@ - Ralph Eastwood - Fredrik Ehnbom - Robin Eklind + - Jan Ekstr??m - Siavash Eliasi - TheExileFox - Felipe Ferreira @@ -61,12 +62,15 @@ - M??rio Freitas - GeO4d - Marcus Geelnard + - ghuser404 - Charles Giessen - Ryan C. Gordon - Stephen Gowen - Kovid Goyal - Eloi Mar??n Gratac??s - Stefan Gustavson + - Andrew Gutekanst + - Stephen Gutekanst - Jonathan Hale - hdf89shfdfs - Sylvain Hellegouarch @@ -76,6 +80,7 @@ - Paul Holden - Warren Hu - Charles Huber + - InKryption - IntellectualKitty - Aaron Jacobs - Erik S. V. Jansson @@ -208,6 +213,7 @@ - Richard A. Wilkes - Tatsuya Yatagawa - Ryogo Yoshimura + - R??cz Zal??n - Lukas Zanner - Andrey Zholos - Aihui Zhu diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/README.md new/glfw-3.3.6/README.md --- old/glfw-3.3.5/README.md 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/README.md 2021-12-08 20:23:20.000000000 +0100 @@ -123,26 +123,14 @@ ## Changelog - - Updated gamepad mappings from upstream - - Bugfix: Buffers were swapped at creation on single-buffered windows (#1873) - - Bugfix: Gamepad mapping updates could spam `GLFW_INVALID_VALUE` due to - incompatible controllers sharing hardware ID (#1763) - - Bugfix: Native access functions for context handles did not check that the API matched - - [Win32] Bugfix: `USE_MSVC_RUNTIME_LIBRARY_DLL` had no effect on CMake 3.15 or - later (#1783,#1796) - - [Win32] Bugfix: Compilation with LLVM for Windows failed (#1807,#1824,#1874) - - [Cocoa] Bugfix: The MoltenVK layer contents scale was updated only after - related events were emitted - - [Cocoa] Bugfix: Moving the cursor programmatically would freeze it for - a fraction of a second (#1962) - - [Cocoa] Bugfix: `kIOMasterPortDefault` was deprecated in macOS 12.0 (#1980) - - [X11] Bugfix: Changing `GLFW_FLOATING` could leak memory - - [Wayland] Bugfix: Some keys were not repeating in Wayland (#1908) - - [Wayland] Bugfix: Non-arrow cursors are offset from the hotspot (#1706,#1899) - - [Wayland] Bugfix: The `O_CLOEXEC` flag was not defined on FreeBSD - - [NSGL] Bugfix: Defining `GL_SILENCE_DEPRECATION` externally caused - a duplicate definition warning (#1840) - - [EGL] Bugfix: The `GLFW_DOUBLEBUFFER` context attribute was ignored (#1843) + - Bugfix: Joysticks connected before init did not get gamepad mappings (#1996) + - [Win32] Bugfix: Content scale queries could fail silently (#1615) + - [Win32] Bugfix: Content scales could have garbage values if monitor was recently + disconnected (#1615) + - [Cocoa] Bugfix: A dependency on an external constant caused crashes on macOS + 11 and earlier (#1985,#1994) + - [X11] Bugfix: Icon pixel format conversion worked only by accident, relying on + undefined behavior (#1986) ## Contact diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/examples/splitview.c new/glfw-3.3.6/examples/splitview.c --- old/glfw-3.3.5/examples/splitview.c 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/examples/splitview.c 2021-12-08 20:23:20.000000000 +0100 @@ -2,7 +2,7 @@ // This is an example program for the GLFW library // // The program uses a "split window" view, rendering four views of the -// same scene in one window (e.g. uesful for 3D modelling software). This +// same scene in one window (e.g. useful for 3D modelling software). This // demo uses scissors to separate the four different rendering areas from // each other. // diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/include/GLFW/glfw3.h new/glfw-3.3.6/include/GLFW/glfw3.h --- old/glfw-3.3.5/include/GLFW/glfw3.h 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/include/GLFW/glfw3.h 2021-12-08 20:23:20.000000000 +0100 @@ -299,7 +299,7 @@ * release is made that does not contain any API changes. * @ingroup init */ -#define GLFW_VERSION_REVISION 5 +#define GLFW_VERSION_REVISION 6 /*! @} */ /*! @brief One. @@ -960,7 +960,7 @@ * and [attribute](@ref GLFW_CONTEXT_VERSION_MINOR_attrib). */ #define GLFW_CONTEXT_VERSION_MINOR 0x00022003 -/*! @brief Context client API revision number hint and attribute. +/*! @brief Context client API revision number attribute. * * Context client API revision number * [attribute](@ref GLFW_CONTEXT_REVISION_attrib). @@ -5227,6 +5227,8 @@ * joystick is not present, does not have a mapping or an * [error](@ref error_handling) occurred. * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref GLFW_INVALID_ENUM. + * * @pointer_lifetime The returned string is allocated and freed by GLFW. You * should not free it yourself. It is valid until the specified joystick is * disconnected, the gamepad mappings are updated or the library is terminated. @@ -5316,8 +5318,8 @@ * @return The contents of the clipboard as a UTF-8 encoded string, or `NULL` * if an [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_FORMAT_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. * * @pointer_lifetime The returned string is allocated and freed by GLFW. You * should not free it yourself. It is valid until the next call to @ref diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/src/cocoa_monitor.m new/glfw-3.3.6/src/cocoa_monitor.m --- old/glfw-3.3.5/src/cocoa_monitor.m 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/src/cocoa_monitor.m 2021-12-08 20:23:20.000000000 +0100 @@ -58,7 +58,7 @@ io_service_t service; CFDictionaryRef info; - if (IOServiceGetMatchingServices(kIOMainPortDefault, + if (IOServiceGetMatchingServices(MACH_PORT_NULL, IOServiceMatching("IODisplayConnect"), &it) != 0) { @@ -231,7 +231,7 @@ io_iterator_t it; io_service_t service; - if (IOServiceGetMatchingServices(kIOMainPortDefault, + if (IOServiceGetMatchingServices(MACH_PORT_NULL, IOServiceMatching("IOFramebuffer"), &it) != 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/src/cocoa_platform.h new/glfw-3.3.6/src/cocoa_platform.h --- old/glfw-3.3.5/src/cocoa_platform.h 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/src/cocoa_platform.h 2021-12-08 20:23:20.000000000 +0100 @@ -44,13 +44,6 @@ // NOTE: Many Cocoa enum values have been renamed and we need to build across // SDK versions where one is unavailable or the other deprecated // We use the newer names in code and these macros to handle compatibility -#if MAC_OS_X_VERSION_MAX_ALLOWED < 120000 - #define kIOMainPortDefault kIOMasterPortDefault -#endif - -// NOTE: Many Cocoa enum values have been renamed and we need to build across -// SDK versions where one is unavailable or the other deprecated -// We use the newer names in code and these macros to handle compatibility #if MAC_OS_X_VERSION_MAX_ALLOWED < 101200 #define NSBitmapFormatAlphaNonpremultiplied NSAlphaNonpremultipliedBitmapFormat #define NSEventMaskAny NSAnyEventMask diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/src/init.c new/glfw-3.3.6/src/init.c --- old/glfw-3.3.5/src/init.c 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/src/init.c 2021-12-08 20:23:20.000000000 +0100 @@ -36,16 +36,15 @@ #include <assert.h> -// The global variables below comprise all mutable global data in GLFW -// -// Any other global variable is a bug +// NOTE: The global variables below comprise all mutable global data in GLFW +// Any other mutable global variable is a bug -// Global state shared between compilation units of GLFW +// This contains all mutable state shared between compilation units of GLFW // _GLFWlibrary _glfw = { GLFW_FALSE }; // These are outside of _glfw so they can be used before initialization and -// after termination +// after termination without special handling when _glfw is cleared to zero // static _GLFWerror _glfwMainThreadError; static GLFWerrorfun _glfwErrorCallback; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/src/input.c new/glfw-3.3.6/src/input.c --- old/glfw-3.3.5/src/input.c 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/src/input.c 2021-12-08 20:23:20.000000000 +0100 @@ -401,6 +401,7 @@ // void _glfwInitGamepadMappings(void) { + int jid; size_t i; const size_t count = sizeof(_glfwDefaultMappings) / sizeof(char*); _glfw.mappings = calloc(count, sizeof(_GLFWmapping)); @@ -410,6 +411,13 @@ if (parseMapping(&_glfw.mappings[_glfw.mappingCount], _glfwDefaultMappings[i])) _glfw.mappingCount++; } + + for (jid = 0; jid <= GLFW_JOYSTICK_LAST; jid++) + { + _GLFWjoystick* js = _glfw.joysticks + jid; + if (js->present) + js->mapping = findValidMapping(js); + } } // Returns an available joystick object with arrays and name allocated diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/src/win32_monitor.c new/glfw-3.3.6/src/win32_monitor.c --- old/glfw-3.3.5/src/win32_monitor.c 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/src/win32_monitor.c 2021-12-08 20:23:20.000000000 +0100 @@ -318,8 +318,19 @@ { UINT xdpi, ydpi; + if (xscale) + *xscale = 0.f; + if (yscale) + *yscale = 0.f; + if (IsWindows8Point1OrGreater()) - GetDpiForMonitor(handle, MDT_EFFECTIVE_DPI, &xdpi, &ydpi); + { + if (GetDpiForMonitor(handle, MDT_EFFECTIVE_DPI, &xdpi, &ydpi) != S_OK) + { + _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Failed to query monitor DPI"); + return; + } + } else { const HDC dc = GetDC(NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/src/win32_window.c new/glfw-3.3.6/src/win32_window.c --- old/glfw-3.3.5/src/win32_window.c 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/src/win32_window.c 2021-12-08 20:23:20.000000000 +0100 @@ -1297,8 +1297,12 @@ { float xscale, yscale; _glfwPlatformGetWindowContentScale(window, &xscale, &yscale); - rect.right = (int) (rect.right * xscale); - rect.bottom = (int) (rect.bottom * yscale); + + if (xscale > 0.f && yscale > 0.f) + { + rect.right = (int) (rect.right * xscale); + rect.bottom = (int) (rect.bottom * yscale); + } } ClientToScreen(window->win32.handle, (POINT*) &rect.left); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glfw-3.3.5/src/x11_window.c new/glfw-3.3.6/src/x11_window.c --- old/glfw-3.3.5/src/x11_window.c 2021-10-28 13:24:20.000000000 +0200 +++ new/glfw-3.3.6/src/x11_window.c 2021-12-08 20:23:20.000000000 +0100 @@ -2123,8 +2123,8 @@ for (i = 0; i < count; i++) longCount += 2 + images[i].width * images[i].height; - long* icon = calloc(longCount, sizeof(long)); - long* target = icon; + unsigned long* icon = calloc(longCount, sizeof(unsigned long)); + unsigned long* target = icon; for (i = 0; i < count; i++) { @@ -2133,13 +2133,19 @@ for (j = 0; j < images[i].width * images[i].height; j++) { - *target++ = (images[i].pixels[j * 4 + 0] << 16) | - (images[i].pixels[j * 4 + 1] << 8) | - (images[i].pixels[j * 4 + 2] << 0) | - (images[i].pixels[j * 4 + 3] << 24); + *target++ = (((unsigned long) images[i].pixels[j * 4 + 0]) << 16) | + (((unsigned long) images[i].pixels[j * 4 + 1]) << 8) | + (((unsigned long) images[i].pixels[j * 4 + 2]) << 0) | + (((unsigned long) images[i].pixels[j * 4 + 3]) << 24); } } + // NOTE: XChangeProperty expects 32-bit values like the image data above to be + // placed in the 32 least significant bits of individual longs. This is + // true even if long is 64-bit and a WM protocol calls for "packed" data. + // This is because of a historical mistake that then became part of the Xlib + // ABI. Xlib will pack these values into a regular array of 32-bit values + // before sending it over the wire. XChangeProperty(_glfw.x11.display, window->x11.handle, _glfw.x11.NET_WM_ICON, XA_CARDINAL, 32,