Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Im support rebase 20240131 #3

Closed
wants to merge 104 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
00a663d
Wayland: Fix fallback decorations emitting errors
elmindreda Apr 25, 2023
6b48f2b
Wayland: Merge function called once
elmindreda Apr 25, 2023
3eaf125
Wayland: Cleanup
elmindreda Apr 25, 2023
93a3ba8
Win32: Add library name suffix to pkg-config file
moritz-h Nov 15, 2023
46c2e35
Updated changelog
dougbinks Nov 15, 2023
9a80225
Add credits
dougbinks Nov 15, 2023
3ed6e9d
Updated credit
dougbinks Nov 15, 2023
938a3c2
Update Doxyfile template for Doxygen 1.9.7
elmindreda Jul 19, 2023
01d7c33
Wayland: Fix zero being used in place of NULL
elmindreda Aug 3, 2023
509f413
Win32: Fix glfwWaitEventsTimeout ignoring messages
elmindreda Nov 15, 2023
0bd3e87
Fix unneccessary use of "must"
elmindreda Nov 16, 2023
c992226
Linux: Fix memory leak when inotify init failed
mikejzx Nov 9, 2023
2a4dd9c
Cleanup
elmindreda Nov 16, 2023
a87acd8
Update changelog and add credit
elmindreda Nov 16, 2023
d970990
Linux: Fix POSIX version not set for Null build
elmindreda Nov 21, 2023
97820bc
Null: Remove duplicated function declaration
Scr3amer Nov 21, 2023
afd22eb
Add credit
elmindreda Nov 21, 2023
dbe810e
Documentation: only named keys generate synthetic key releases
jedenastka Nov 24, 2023
659d161
Reorder credit
dougbinks Nov 24, 2023
23ea072
Reorder changelog entry
dougbinks Nov 27, 2023
9fdc425
Wayland: Use Wayland to wait for libdecor to init
elmindreda Nov 30, 2023
23e4054
Wayland: Fix protocol error on undecorated window
elmindreda Nov 29, 2023
d097e35
Wayland: Fix heuristics for what counts as events
elmindreda Nov 30, 2023
fb94e42
Remove changelog entry
elmindreda Dec 1, 2023
8c5471d
Fix return value on error for glfwGetKeyScancode
elmindreda Dec 1, 2023
fa0ea5c
Fix potential violation of invariant
elmindreda Dec 3, 2023
93d70cb
Add assertions for context function invariants
elmindreda Dec 3, 2023
1b2605d
Fix missing new constant in release notes
elmindreda Dec 3, 2023
3f31519
Clarify documentation for glfwMakeContextCurrent
elmindreda Dec 3, 2023
b1517e5
Fix glfwGetKeyName not checking key token is valid
elmindreda Dec 4, 2023
557a633
Fix list of possible errors for glfwGetKeyName
elmindreda Dec 5, 2023
9959dc6
Improve documentation relating to key tokens
elmindreda Dec 4, 2023
52405a9
Win32: Fix invalid hat bit mask being accepted
PeterJohnson Mar 8, 2023
0ede5f5
Simplify joystick hat value assertions
elmindreda Dec 5, 2023
5e4496c
Cocoa: Fix compilation error on OS X 10.8
elmindreda Dec 5, 2023
ddd92a4
Update changelog and add credit
elmindreda Dec 6, 2023
68edc66
Add credit
elmindreda Dec 7, 2023
46cebb5
EGL: Only use EGL_EXT_present_opaque on Wayland
elmindreda Dec 7, 2023
8e9a5d2
Cocoa: No NSWindowStyleMaskResizable in fullscreen
FuzzyQuils Dec 11, 2023
7b15201
Add credit
elmindreda Dec 11, 2023
378e5fc
Fix Markdown formatting for changelog entry
elmindreda Dec 12, 2023
eeeb56e
EGL: Fix GLFW_CONTEXT_NO_ERROR on Mesa
lo-v-ol Jun 5, 2023
ea3ea62
Update changelog and add credit
elmindreda Dec 12, 2023
2c1d310
Cocoa: Fix segfault querying joystick elements
elmindreda Dec 12, 2023
b4c3ef9
Clarify documentation for contributing
dougbinks Dec 24, 2023
ab09dc8
Add credit
elmindreda Dec 14, 2023
9f6da7e
Win32: Fix some of the errors for Null-only on VS
elmindreda Jan 9, 2024
40aa77a
Remove superfluous CMake flag in GH build workflow
elmindreda Nov 30, 2023
6b39ab0
Improve coverage of GH build workflow
elmindreda Nov 30, 2023
d964663
Removed unused header in sharing example
elmindreda Dec 14, 2023
4e8c490
Wayland: Fix segfault on termination
elmindreda Jan 3, 2024
5a9ea8f
Add build- prefix to .gitignore
elmindreda Jan 3, 2024
73948e6
Fix missing error in docs for glfwCreateWindow
elmindreda Jan 4, 2024
2c3eb75
Wayland: Remove dependency on wayland-protocols
elmindreda Dec 5, 2023
29885c6
Win32: Improve clipboard contention issue
elmindreda Jan 17, 2020
5076219
Win32: Remove unofficial support for VS 2008
elmindreda Jan 11, 2024
2006397
Add initial .editorconfig file
elmindreda Jan 12, 2024
d2b88cf
Update documentation for native access errors
elmindreda Jan 12, 2024
8ff8d67
Set timeout for build GH workflow jobs
elmindreda Jan 14, 2024
cf29ff2
Update CODEOWNERS file
elmindreda Jan 14, 2024
d205852
Make VS 2013 the oldest tested VS version
elmindreda Jan 13, 2024
d107e49
Remove superfluous CMake flag in AppVeyor build
elmindreda Jan 15, 2024
ba796ec
Document VS 2013 as minimum VS version
elmindreda Jan 15, 2024
8e6c8d7
Remove reminders to use C89 for some source files
elmindreda Jan 11, 2024
c8521b7
Win 32: Fix disabled cursor mode when connected over RDP
Hilderin Jan 28, 2024
7321b56
Reorder credit
dougbinks Jan 28, 2024
1de78b2
Cleanup
dougbinks Jan 28, 2024
996826e
Reorder and add details to changelog entry
dougbinks Jan 28, 2024
d79afa8
Win32: Minor changes to disabled cursor fix over RDP
dougbinks Jan 28, 2024
9afbcb4
Wayland: Clean up pointer axis handler
elmindreda Jan 16, 2024
c339dfc
Update changelog for 3.4 release
elmindreda Dec 18, 2023
d81fcb9
Clarify event test reporting of keys
elmindreda Jan 24, 2024
bbf661c
Replace comments with designated initializers
elmindreda Jan 11, 2024
7e2470d
Use designated initializers for platform structs
elmindreda Jan 11, 2024
86bf569
Fix glfwGetKeyName incorrectly emitting error
elmindreda Dec 13, 2023
becf1dc
Update to actions/checkout@v4 from v3
waywardmonkeys Dec 16, 2023
bc95384
Remove platform-specific logic from shared header
elmindreda Jan 24, 2024
291f4d8
OSMesa: Fix headers included before shared header
elmindreda Jan 24, 2024
51920ed
Wayland: Fix compilation on FreeBSD
elmindreda Jan 24, 2024
2590d4c
Wayland: Enable platform by default
elmindreda Jan 24, 2024
9317970
Wayland: Implement glfwRequestWindowAttention
GamesTrap Jan 24, 2024
bdedec9
Wayland: Fix formatting of attention request
elmindreda Jan 24, 2024
94310c5
Wayland: Move listener to correct section
elmindreda Jan 25, 2024
ad264f5
Update URL for xdg-activation-v1 protocol docs
elmindreda Jan 25, 2024
23962c9
Remove further traces of IRC channel
elmindreda Jan 25, 2024
42afff4
Remove reminders to use C99 from more source files
elmindreda Jan 29, 2024
c47894a
Update compilation-related parts of README
elmindreda Jan 29, 2024
f74ff2a
Fix function return value when uninitialized
elmindreda Jan 18, 2024
d7aeb1e
Fix function return value when uninitialized
elmindreda Jan 18, 2024
86d7bcb
Fix missing checks for platform mismatch
elmindreda Jan 19, 2024
00e86d4
WGL: Fix pixel format count in a Parallels VM
elmindreda Jan 30, 2024
ea2a81f
Apply shibukawa's fix of GLFW for Windows
daipom Nov 22, 2022
49fe875
Win32: Support IME
daipom Dec 15, 2022
01f4277
Apply shibukawa's fix of GLFW for MacOS
daipom Mar 17, 2022
6fb0b81
macOS: Support IME
daipom Jan 13, 2023
540ec55
Apply shibukawa's fix of GLFW for X11
daipom Nov 22, 2022
51fdcb5
X11: Support IME
daipom Dec 6, 2022
b322c25
Wayland: Support text_input_unstable_v3 and text_input_unstable_v1
ashie Jan 24, 2024
5e4c2ac
tests: Add tests for IME features
daipom Dec 6, 2022
544527d
Apply shibukawa's document fix
shibukawa May 20, 2022
09612a0
Doc: Improve document about IME features
daipom Apr 7, 2023
9aa5b29
Add credit
daipom Apr 7, 2023
66211e1
Add change log entries
daipom Apr 10, 2023
87f4f66
Win32: Support preedit candidate feature
daipom Apr 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ environment:
- GENERATOR: MinGW Makefiles
BUILD_SHARED_LIBS: OFF
CFLAGS: -Werror
- GENERATOR: Visual Studio 10 2010
- GENERATOR: Visual Studio 12 2013
BUILD_SHARED_LIBS: ON
CFLAGS: /WX
- GENERATOR: Visual Studio 10 2010
- GENERATOR: Visual Studio 12 2013
BUILD_SHARED_LIBS: OFF
CFLAGS: /WX
matrix:
Expand All @@ -30,14 +30,14 @@ for:
- GENERATOR: MinGW Makefiles
build_script:
- set PATH=%PATH:C:\Program Files\Git\usr\bin=C:\MinGW\bin%
- cmake -S . -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
- cmake -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
- cmake --build build
-
matrix:
only:
- GENERATOR: Visual Studio 10 2010
- GENERATOR: Visual Studio 12 2013
build_script:
- cmake -S . -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
- cmake -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
- cmake --build build --target glfw
notifications:
- provider: Email
Expand Down
67 changes: 67 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# EditorConfig for GLFW and its internal dependencies
#
# All files created by GLFW should indent with four spaces unless their format requires
# otherwise. A few files still use other indent styles for historical reasons.
#
# Dependencies have (what seemed to be) their existing styles described. Those with
# existing trailing whitespace have it preserved to avoid cluttering future commits.

root = true

[*]
charset = utf-8
end_of_line = lf

[include/GLFW/*.h]
indent_style = space
indent_size = 4

[{src,examples,tests}/*.{c,m,h,rc,in}]
indent_style = space
indent_size = 4

[CMakeLists.txt]
indent_style = space
indent_size = 4

[CMake/**.{cmake,in}]
indent_style = space
indent_size = 4

[*.{dox,md}]
indent_style = space
indent_size = 4
trim_trailing_whitespace = false

[DoxygenLayout.xml]
indent_style = space
indent_size = 2

[docs/*.{scss,html}]
indent_style = tab
indent_size = unset

[deps/mingw/*.h]
indent_style = space
indent_size = 4
tab_width = 8
trim_trailing_whitespace = false

[deps/getopt.{c,h}]
indent_style = space
indent_size = 2

[deps/linmath.h]
indent_style = tab
tab_width = 4
indent_size = 4
trim_trailing_whitespace = false

[deps/nuklear*.h]
indent_style = space
indent_size = 4

[deps/tinycthread.{c,h}]
indent_style = space
indent_size = 2

2 changes: 0 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@

* @elmindreda

src/wl_* @linkmauve

docs/*.css @glfw/webdev
docs/*.scss @glfw/webdev
docs/*.html @glfw/webdev
Expand Down
114 changes: 60 additions & 54 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,86 +9,92 @@ permissions:
contents: read

jobs:
build-linux-x11-clang:
name: X11 (Linux, Clang)
build-linux-clang:
name: Linux (Clang)
runs-on: ubuntu-latest
timeout-minutes: 4
env:
CC: clang
CFLAGS: -Werror
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt update
sudo apt install libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev
sudo apt install libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev libwayland-dev libxkbcommon-dev

- name: Configure static library
run: cmake -S . -B build-static
- name: Build static library
run: cmake --build build-static --parallel
- name: Configure Null shared library
run: cmake -B build-null-shared -D GLFW_BUILD_WAYLAND=OFF -D GLFW_BUILD_X11=OFF -D BUILD_SHARED_LIBS=ON
- name: Build Null shared library
run: cmake --build build-null-shared --parallel

- name: Configure shared library
run: cmake -S . -B build-shared -D BUILD_SHARED_LIBS=ON
- name: Build shared library
run: cmake --build build-shared --parallel
- name: Configure X11 shared library
run: cmake -B build-x11-shared -D GLFW_BUILD_WAYLAND=OFF -D GLFW_BUILD_X11=ON -D BUILD_SHARED_LIBS=ON
- name: Build X11 shared library
run: cmake --build build-x11-shared --parallel

build-linux-full-clang:
name: X11+Wayland (Linux, Clang)
runs-on: ubuntu-latest
env:
CC: clang
CFLAGS: -Werror
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt update
sudo apt install libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev wayland-protocols libwayland-dev libxkbcommon-dev
- name: Configure Wayland shared library
run: cmake -B build-wayland-shared -D GLFW_BUILD_WAYLAND=ON -D GLFW_BUILD_X11=OFF -D BUILD_SHARED_LIBS=ON
- name: Build Wayland shared library
run: cmake --build build-wayland-shared --parallel

- name: Configure static library
run: cmake -S . -B build-static -D GLFW_BUILD_WAYLAND=ON
- name: Build static library
run: cmake --build build-static --parallel
- name: Configure Wayland+X11 static library
run: cmake -B build-full-static -D GLFW_BUILD_WAYLAND=ON -D GLFW_BUILD_X11=ON
- name: Build Wayland+X11 static library
run: cmake --build build-full-static --parallel

- name: Configure shared library
run: cmake -S . -B build-shared -D GLFW_BUILD_WAYLAND=ON -D BUILD_SHARED_LIBS=ON
- name: Build shared library
run: cmake --build build-shared --parallel
- name: Configure Wayland+X11 shared library
run: cmake -B build-full-shared -D GLFW_BUILD_WAYLAND=ON -D BUILD_SHARED_LIBS=ON -D GLFW_BUILD_X11=ON
- name: Build Wayland+X11 shared library
run: cmake --build build-full-shared --parallel

build-macos-cocoa-clang:
name: Cocoa (macOS, Clang)
build-macos-clang:
name: macOS (Clang)
runs-on: macos-latest
timeout-minutes: 4
env:
CFLAGS: -Werror
MACOSX_DEPLOYMENT_TARGET: 10.8
CMAKE_OSX_ARCHITECTURES: x86_64;arm64
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Configure static library
run: cmake -S . -B build-static
- name: Build static library
run: cmake --build build-static --parallel
- name: Configure Null shared library
run: cmake -B build-null-shared -D GLFW_BUILD_COCOA=OFF -D BUILD_SHARED_LIBS=ON
- name: Build Null shared library
run: cmake --build build-null-shared --parallel

- name: Configure shared library
run: cmake -S . -B build-shared -D BUILD_SHARED_LIBS=ON
- name: Build shared library
run: cmake --build build-shared --parallel
- name: Configure Cocoa static library
run: cmake -B build-cocoa-static
- name: Build Cocoa static library
run: cmake --build build-cocoa-static --parallel

build-windows-win32-vs2022:
name: Win32 (Windows, VS2022)
- name: Configure Cocoa shared library
run: cmake -B build-cocoa-shared -D BUILD_SHARED_LIBS=ON
- name: Build Cocoa shared library
run: cmake --build build-cocoa-shared --parallel

build-windows-vs2022:
name: Windows (VS2022)
runs-on: windows-latest
timeout-minutes: 4
env:
CFLAGS: /WX
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Configure Win32 shared x86 library
run: cmake -B build-win32-shared-x86 -G "Visual Studio 17 2022" -A Win32 -D BUILD_SHARED_LIBS=ON
- name: Build Win32 shared x86 library
run: cmake --build build-win32-shared-x86 --parallel

- name: Configure static library
run: cmake -S . -B build-static -G "Visual Studio 17 2022"
- name: Build static library
run: cmake --build build-static --parallel
- name: Configure Win32 static x64 library
run: cmake -B build-win32-static-x64 -G "Visual Studio 17 2022" -A x64
- name: Build Win32 static x64 library
run: cmake --build build-win32-static-x64 --parallel

- name: Configure shared library
run: cmake -S . -B build-shared -G "Visual Studio 17 2022" -D BUILD_SHARED_LIBS=ON
- name: Build shared library
run: cmake --build build-shared --parallel
- name: Configure Win32 shared x64 library
run: cmake -B build-win32-shared-x64 -G "Visual Studio 17 2022" -A x64 -D BUILD_SHARED_LIBS=ON
- name: Build Win32 shared x64 library
run: cmake --build build-win32-shared-x64 --parallel

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# The canonical out-of-tree build subdirectory
build
build-*

# Visual Studio clutter
_ReSharper*
Expand Down
2 changes: 1 addition & 1 deletion CMake/glfw3.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ Description: A multi-platform library for OpenGL, window and input
Version: @GLFW_VERSION@
URL: https://www.glfw.org/
Requires.private: @GLFW_PKG_CONFIG_REQUIRES_PRIVATE@
Libs: -L${libdir} -l@GLFW_LIB_NAME@
Libs: -L${libdir} -l@GLFW_LIB_NAME@@GLFW_LIB_NAME_SUFFIX@
Libs.private: @GLFW_PKG_CONFIG_LIBS_PRIVATE@
Cflags: -I${includedir}
8 changes: 6 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,15 @@ if (GLFW_USE_OSMESA)
message(FATAL_ERROR "GLFW_USE_OSMESA has been removed; set the GLFW_PLATFORM init hint")
endif()

if (DEFINED GLFW_USE_WAYLAND AND UNIX AND NOT APPLE)
message(FATAL_ERROR
"GLFW_USE_WAYLAND has been removed; set the GLFW_BUILD_WAYLAND and GLFW_BUILD_X11 options")
endif()

cmake_dependent_option(GLFW_BUILD_WIN32 "Build support for Win32" ON "WIN32" OFF)
cmake_dependent_option(GLFW_BUILD_COCOA "Build support for Cocoa" ON "APPLE" OFF)
cmake_dependent_option(GLFW_BUILD_X11 "Build support for X11" ON "UNIX;NOT APPLE" OFF)
cmake_dependent_option(GLFW_BUILD_WAYLAND "Build support for Wayland"
"${GLFW_USE_WAYLAND}" "UNIX;NOT APPLE" OFF)
cmake_dependent_option(GLFW_BUILD_WAYLAND "Build support for Wayland" ON "UNIX;NOT APPLE" OFF)

cmake_dependent_option(GLFW_USE_HYBRID_HPG "Force use of high-performance GPU on hybrid systems" OFF
"WIN32" OFF)
Expand Down
Loading