When cursor isn't in normal mode and should be hidden, use [NSCursor hide]
method instead of setting it to blank image. This should prevent
situations when hidden cursor becomes visible after system notification
was shown.
Fixes#971.
Closes#1028.
There was a missing check for when no Compose key was configured in the
xkb file, making _glfw.wl.xkb.composeState NULL and crashing on key
press.
Closes#1059.
This adds a warning in GCC and Clang about using intermingled
variable declarations in source files that will be built by VS.
This currently excludes egl_context.c and osmesa_context.c. It will
be addressed by a separate commit.
Related to #1026.
Don't advertise native functions in public API guides. Don't list
primary selection access as most notable new feature. Don't have
different levels of abstraction among selection helper functions. Don't
forget to take credit.
Related to #1056.
This adds the native access functions glfwSetX11SelectionString and
glfwGetX11SelectionString under GLFW_EXPOSE_NATIVE_X11. They are
similar to glfwSetClipboardString and glfwGetClipboardString but operate
on the PRIMARY selection.
The primary selection is widely used in X11, and so seems important to
support. Primary selection is mostly an X11-specific thing, hence it's
exposed as an X11 native interface.
Fixes#894.
Closes#1056.
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
If the expected constants are defined in hexadecimal in the header then
the error string should also use hexadecimal.
Idea by IntellectualKitty.
Related to #970.
Inclusion of internal headers is already both centralized and follows
strict rules. Inclusion guards are both an unneccessary maintenance
burden and may hide inclusion order bugs.
This adds support for using GLFW with EGL backends on macOS. While EGL
isn't available by default on macOS, there are third-party
implementations like SwiftShader.
The addition of MoltenVK support added an override to makeBackingLayer.
In non-Vulkan mode, this means that we are returning nil from that
function. The NSGL implementation creates this layer manually later on,
but other OpenGL backends don't necessarily do that.
Closes#985.
The code blindly expected UTF8_STRING for files. It did not downgrade
based on source protocol version. It did not handle hostnames in
text/uri-list data. It did not specify the source time stamp when
converting the selection. It did not search the XdndTypeList when
necessary. It did not ignore sources that specified invalid versions.
While better, this is still not fully conformant. Hostnames are not
validated and it does not guard against source crashes.
Fixes#968.
This changes enumeration to add as a GLFW monitor any active adapter
without displays, even if other active adapters do have displays.
Related to #441.
Fixes#960.
X11 event processing currently discards events that can not be mapped to
a current GLFW window. However, this breaks clipboard functionality by
failing to respond to SelectionRequest and SelectionClear events.
This commit moves processing of these important clipboard events to
before the NULL window test so that they are always considered.
Fixes#961.
Closes#963.
This moves the buttons-as-hats logic to shared code and adds the
GLFW_JOYSTICK_HAT_BUTTONS input mode as a way to disable this legacy
behavior.
Fixes#889.
This merges the public part of the glfwGetJoystickHats work by
@IntellectualKitty. The implementation needs replacing due to
refactoring in preparation for gamecontrollerdb support.
Closes#906.