Compare commits

...

4 Commits

Author SHA1 Message Date
Abhi
77fd938867
Merge 06137147a3 into 768e81a0eb 2025-08-15 04:30:41 +08:00
Jan Hendrik Farr
768e81a0eb Wayland: Fix key repeat halting
Key repeat shoud only be halted when the repeating key
is released, not when another key is released.
2025-08-14 15:35:04 +02:00
Abhi
06137147a3
Simplify code logic for glfwIsInitialized. 2025-03-12 14:58:28 -06:00
wis31
0fc6fa88b3 Add external API to query initialization status of GLFW. 2025-03-09 14:13:25 -06:00
5 changed files with 30 additions and 2 deletions

View File

@ -68,6 +68,7 @@ video tutorials.
- Jan Ekström
- Siavash Eliasi
- er-azh
- Jan Hendrik Farr
- Ahmad Fatoum
- Nikita Fediuchin
- Felipe Ferreira

View File

@ -138,6 +138,7 @@ information on what to include when reporting a bug.
- [Wayland] Bugfix: Retrieved cursor position would be incorrect when hovering over
fallback decorations
- [Wayland] Bugfix: Fallback decorations would report scroll events
- [Wayland] Bugfix: Keyboard repeat events halted when any key is released (#2568)
- [X11] Bugfix: Running without a WM could trigger an assert (#2593,#2601,#2631)
- [Null] Added Vulkan 'window' surface creation via `VK_EXT_headless_surface`
- [Null] Added EGL context creation on Mesa via `EGL_MESA_platform_surfaceless`

View File

@ -2254,6 +2254,26 @@ GLFWAPI int glfwInit(void);
*/
GLFWAPI void glfwTerminate(void);
/*! @brief Queries if the GLFW library is intialized.
*
* This function queries whether the GLFW libarary is in an initialized state.
* The library is considered to be in an initialized state
* when @ref glfwInit is invoked successfully, and @ref glfwTerminate has not been invoked after.
*
* @return `GLFW_TRUE` if the library is intialized, or `GLFW_FALSE` if otherwise.
*
* @thread_safety This function must only be called from the main thread.
*
* @sa @ref intro_init
* @sa @ref glfwInit
* @sa @ref glfwTerminate
*
* @since Added in version 3.4.
*
* @ingroup init
*/
GLFWAPI int glfwIsInitialized(void);
/*! @brief Sets the specified init hint to the desired value.
*
* This function sets hints for the next initialization of GLFW.

View File

@ -437,6 +437,11 @@ GLFWAPI void glfwTerminate(void)
terminate();
}
GLFWAPI int glfwIsInitialized(void)
{
return _glfw.initialized;
}
GLFWAPI void glfwInitHint(int hint, int value)
{
switch (hint)

View File

@ -1838,11 +1838,12 @@ static void keyboardHandleKey(void* userData,
timer.it_value.tv_sec = _glfw.wl.keyRepeatDelay / 1000;
timer.it_value.tv_nsec = (_glfw.wl.keyRepeatDelay % 1000) * 1000000;
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);
}
} else if (scancode == _glfw.wl.keyRepeatScancode) {
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);
}
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);
_glfwInputKey(window, key, scancode, action, _glfw.wl.xkb.modifiers);
if (action == GLFW_PRESS)