mirror of
https://github.com/glfw/glfw.git
synced 2025-12-19 13:41:54 +00:00
Compare commits
4 Commits
0a3310703e
...
92c04c58af
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92c04c58af | ||
|
|
506c11ba43 | ||
|
|
d30d63313c | ||
|
|
58de77fc49 |
@ -229,7 +229,7 @@ video tutorials.
|
||||
- Brandon Schaefer
|
||||
- Sebastian Schuberth
|
||||
- Scr3amer
|
||||
- Jan Schuerkamp
|
||||
- Jan Schürkamp
|
||||
- Christian Sdunek
|
||||
- Matt Sealey
|
||||
- Steve Sexton
|
||||
|
||||
@ -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
5
deps/nuklear.h
vendored
@ -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
|
||||
|
||||
@ -539,6 +539,7 @@ struct _GLFWwindow
|
||||
GLFWbool focusOnShow;
|
||||
GLFWbool mousePassthrough;
|
||||
GLFWbool shouldClose;
|
||||
GLFWbool visible;
|
||||
void* userPointer;
|
||||
GLFWbool doublebuffer;
|
||||
GLFWvidmode videoMode;
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -149,7 +149,7 @@ static GLFWbool waitForVisibilityNotify(_GLFWwindow* window)
|
||||
if (!waitForX11Event(&timeout))
|
||||
return GLFW_FALSE;
|
||||
}
|
||||
|
||||
window->visible = GLFW_TRUE;
|
||||
return GLFW_TRUE;
|
||||
}
|
||||
|
||||
@ -1828,6 +1828,12 @@ static void processEvent(XEvent *event)
|
||||
return;
|
||||
}
|
||||
|
||||
case VisibilityNotify :
|
||||
{
|
||||
if (event->xvisibility.state == VisibilityFullyObscured) window->visible = GLFW_FALSE;
|
||||
else window->visible = GLFW_TRUE;
|
||||
}
|
||||
|
||||
case DestroyNotify:
|
||||
return;
|
||||
}
|
||||
@ -2541,7 +2547,7 @@ GLFWbool _glfwWindowVisibleX11(_GLFWwindow* window)
|
||||
{
|
||||
XWindowAttributes wa;
|
||||
XGetWindowAttributes(_glfw.x11.display, window->x11.handle, &wa);
|
||||
return wa.map_state == IsViewable;
|
||||
return wa.map_state == IsViewable && window->visible == GLFW_TRUE;
|
||||
}
|
||||
|
||||
GLFWbool _glfwWindowMaximizedX11(_GLFWwindow* window)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user