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,

Reply via email to