Compare commits

...

4 Commits

Author SHA1 Message Date
tomc1998
d2c03d6839
Merge 6419ed578f into 506c11ba43 2025-07-05 14:16:25 -05:00
Jan Schürkamp
506c11ba43
Wayland: Ignore key repeat events when no window has keyboard focus (#2732)
* Wayland: Ignore key repeat events when no window has keyboard focus
2025-07-05 19:16:08 +02:00
Doug Binks
d30d63313c Examples: disable MSVC warning C5287 in nuklear.h
Latest MSVC has a warning `operands are different enum types` which this disables until upstream nuklear fixes this
2025-07-05 19:12:15 +02:00
Tom Cheng
6419ed578f Added dumb fix for disabled cursor snapping to center 2020-10-25 09:54:13 +00:00
5 changed files with 24 additions and 10 deletions

View File

@ -229,7 +229,7 @@ video tutorials.
- Brandon Schaefer
- Sebastian Schuberth
- Scr3amer
- Jan Schuerkamp
- Jan Schürkamp
- Christian Sdunek
- Matt Sealey
- Steve Sexton

View File

@ -129,6 +129,7 @@ information on what to include when reporting a bug.
- [Wayland] Bugfix: The fractional scaling related objects were not destroyed
- [Wayland] Bugfix: `glfwInit` would segfault on compositor with no seat (#2517)
- [Wayland] Bugfix: A drag entering a non-GLFW surface could cause a segfault
- [Wayland] Bugfix: Ignore key repeat events when no window has keyboard focus (#2727)
- [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`

5
deps/nuklear.h vendored
View File

@ -423,6 +423,11 @@ NK_STATIC_ASSERT(sizeof(nk_rune) >= 4);
NK_STATIC_ASSERT(sizeof(nk_size) >= sizeof(void*));
NK_STATIC_ASSERT(sizeof(nk_ptr) >= sizeof(void*));
#if defined(_MSC_VER)
/* disable `operands are different enum types` warning on MSVC */
#pragma warning( disable: 5287 )
#endif
/* ============================================================================
*
* API

View File

@ -1266,6 +1266,8 @@ static void handleEvents(double* timeout)
uint64_t repeats;
if (read(_glfw.wl.keyRepeatTimerfd, &repeats, sizeof(repeats)) == 8)
{
if(_glfw.wl.keyboardFocus)
{
for (uint64_t i = 0; i < repeats; i++)
{
@ -1279,6 +1281,8 @@ static void handleEvents(double* timeout)
event = GLFW_TRUE;
}
}
}
if (fds[CURSOR_FD].revents & POLLIN)

View File

@ -1437,6 +1437,10 @@ static void processEvent(XEvent *event)
updateCursorImage(window);
_glfwInputCursorEnter(window, GLFW_TRUE);
// Don't call the cursor callback when GLFW_CURSOR_DISABLED for
// this event, it snaps the cursor back to the center
if (window->cursorMode != GLFW_CURSOR_DISABLED)
_glfwInputCursorPos(window, x, y);
window->x11.lastCursorPosX = x;