Commit Graph

4736 Commits

Author SHA1 Message Date
1125185fed Merge remote-tracking branch 'github/master' 2023-12-01 05:24:34 +00:00
a3973c1f41 [*] Update Runtime 2023-12-01 05:19:06 +00:00
Camilla Löwy
d097e35743 Wayland: Fix heuristics for what counts as events
The Wayland implementation of glfwWaitEvents* keeps waiting until it
sees evidence that a significant event has been processed.  However,
this included updating an animated cursor (not a significant event)
but did not include previously buffered Wayland events or libdecor
events (definitely significant events).

This commit corrects these cases.
2023-11-30 18:52:43 +01:00
Camilla Löwy
23e40548b1 Wayland: Fix protocol error on undecorated window
When setting the visibility of a libdecor frame on a compositor that
supports XDG decorations, libdecor 0.1 will update the geometry of the
XDG surface.  GLFW attempted to set the visibility before having told
libdecor what size the content area is.  This caused a Wayland protocol
error when libdecor attempted to set the window size to 0x0.

This commit adds setting the content area size for the libdecor frame
directly after creation, allowing libdecor to know what it's doing.
2023-11-30 18:52:43 +01:00
Camilla Löwy
9fdc425931 Wayland: Use Wayland to wait for libdecor to init
Much of libdecor is initialized only after certain events have been
received from the compositor and some parts of libdecor 0.1 are unsafe
to use until this delayed initialization has completed.

Since libdecor does not provide an API to query if or be notified when
this has happened, GLFW processed events until its newly created
libdecor frame had created its XDG shell objects.

This commit switches to using a generic Wayland sync point created just
after libdecor (and presumably its plugin) has set up its delayed
initialization, instead of relying on the more specific implementation
detail mentioned above.

It also makes this wait mandatory before the first libdecor frame is
created instead of a pre-condition for certain libdecor frame calls,
hopefully removing even more dependence on implementation details.
2023-11-30 18:52:12 +01:00
Doug Binks
23ea072c41
Reorder changelog entry 2023-11-27 16:56:58 +00:00
9451809dce [*] unsure of any point in keeping exclusive fullscreen logic in here (2eed28ed cont) 2023-11-25 21:41:54 +00:00
Doug Binks
659d161446
Reorder credit 2023-11-24 17:06:18 +00:00
Grzesiek11
dbe810e403
Documentation: only named keys generate synthetic key releases
The current wording states that all keys have synthetic key release
events generated after focus is lost, but keys that aren't named
don't have any state held, so no such events are generated for them.

The new wording clarifies that only named keys have the events generated
for them.
2023-11-24 17:04:13 +00:00
Camilla Löwy
afd22ebcf3 Add credit
Related to #2403
2023-11-21 21:26:45 +01:00
Scr3amer
97820bc329
Null: Remove duplicated function declaration
The declaration of _glfwRequestWindowAttentionNull was duplicated.

Closes #2403
2023-11-21 20:28:39 +01:00
Camilla Löwy
d9709904fe Linux: Fix POSIX version not set for Null build
When compiling GLFW on Linux with only the Null platform enabled, the
CMake files did not set the required POSIX version macro.

Fixes #2402
2023-11-21 17:40:43 +01:00
Camilla Löwy
a87acd8c1f Update changelog and add credit
Related to #2229
2023-11-16 23:08:50 +01:00
Camilla Löwy
2a4dd9c28f Cleanup 2023-11-16 23:08:30 +01:00
Michael Skec
c992226a9c Linux: Fix memory leak when inotify init failed
This introduces regex_compiled boolean to track whether the regex is
compiled successfully.

Closes #2229
2023-11-16 20:49:23 +01:00
Camilla Löwy
0bd3e879e1 Fix unneccessary use of "must"
Passing a context-less window to a function that requires a context only
emits a harmless GLFW_NO_WINDOW_CONTEXT error.
2023-11-16 20:49:23 +01:00
Camilla Löwy
509f4131be Win32: Fix glfwWaitEventsTimeout ignoring messages
The bitmask passed to MsgWaitForMultipleObjects was missing
QS_SENDMESSAGE, causing glfwWaitEventsTimeout not to return when the
thread received messages sent from other threads.

Fixes #2408
2023-11-16 20:49:23 +01:00
Camilla Löwy
01d7c331fd Wayland: Fix zero being used in place of NULL 2023-11-16 20:49:23 +01:00
Camilla Löwy
938a3c29b2 Update Doxyfile template for Doxygen 1.9.7 2023-11-16 20:49:23 +01:00
2eed28ed54 [*] allow for awal to manage exclusive mode switch via the dal swapchain 2023-11-16 07:25:09 +00:00
Doug Binks
3ed6e9d89a
Updated credit 2023-11-15 17:48:30 +01:00
Doug Binks
9a80225ddf
Add credits
Related to #2386 and #2420
2023-11-15 16:48:19 +01:00
Doug Binks
46c2e35c55
Updated changelog 2023-11-15 16:44:24 +01:00
moritz-h
93a3ba8080
Win32: Add library name suffix to pkg-config file
Closes #2386
2023-11-15 16:37:46 +01:00
ad3b49580a [*] revert nonwayland fixes 2023-11-09 05:49:10 +00:00
c426e8d5c1 [+] coca joystick vendorid reporting 2023-11-08 01:04:25 +00:00
1b889af7ef [+] CONTRIBUTORS 2023-11-07 22:45:37 +00:00
db2598442c [-] Remove more OpenGL references 2023-11-07 22:45:35 +00:00
5e1d820af1 Merge remote-tracking branch 'diverent/freebsd'
# Conflicts:
#	README.md
#	src/CMakeLists.txt
#	src/wl_platform.h
#	src/x11_init.c
#	src/x11_platform.h
#	src/x11_window.c
2023-11-05 15:16:27 +00:00
2bfe4fc182 Merge remote-tracking branch 'iysheng/glfw' 2023-11-05 15:05:54 +00:00
1261ff639d [+] GLFWAPI DWORD glfwGetXInputIndexJoystick(int jid);
[+] GLFWAPI int glfwGetLinuxFdJoystick(int jid);
2023-11-05 00:41:58 +00:00
9ffdc4e8ab [*] alleged wayland fixes 2023-11-05 00:28:29 +00:00
6a2af83029 [*] fix warning 2023-11-05 00:15:07 +00:00
54aab7840c Merge remote-tracking branch 'drag/drag-window-dev' 2023-11-05 00:15:03 +00:00
289d8c67c6 [-] GLFW specific docs 2023-11-05 00:08:55 +00:00
15a7f24fb8 [+] GLFWAPI const char *glfwGetGamepadName(int jid)
[+] GLFWAPI uint32_t glfwGetGamepadVendorID(int jid)
[+] GLFWAPI uint32_t glfwGetGamepadProductID(int jid)
[+] GLFWAPI uint32_t glfwGetGamepadProductRev(int jid)
2023-11-05 00:02:27 +00:00
6b2a2675ee [+] Win32 USB product id reporting 2023-11-04 23:58:36 +00:00
e4edc29fb3 Merge remote-tracking branch 'joystick/feat-usb-detection'
# Conflicts:
#	src/internal.h
2023-11-04 23:56:30 +00:00
eeb1f583e6 [*] Update version + brand string updated to remove loaders we no longer support 2023-11-04 23:46:13 +00:00
4be578efbc [*] reported IME fix by nthung-2k5 2023-11-04 23:43:08 +00:00
3859b24b0b [-] platform specific thread apis 2023-11-04 01:46:54 +00:00
8fec93a0ce [-] include/: strip platform specific loader apis 2023-11-04 01:21:02 +00:00
4027d03c60 Merge remote-tracking branch 'some retard with 400 additions trying to take over a near two decade old project because he wasnt acknowledged in a month/fix_fullscreen_accurate_monitor_name' 2023-11-04 00:34:06 +00:00
8f740ff14e [*] yeet 2023-11-03 18:15:11 +00:00
4405b12fa6 [*] Update readme 2023-11-03 00:13:42 +00:00
e7ae1d03be [*] wtf 2023-11-03 00:08:29 +00:00
c69f11075b [*] Update LICENSE.md 2023-11-02 23:23:37 +00:00
8480bfc432 [+] glfwGetPOSIXLoopFds
[-] vulkan and opengl loaders
2023-11-02 23:20:26 +00:00
3f5365a0e8 [+] more au shims 2023-11-02 22:28:54 +00:00
36ad56ecdf [-] Bloat 2023-11-02 01:28:31 +00:00