summaryrefslogtreecommitdiff
path: root/platform/osx
AgeCommit message (Collapse)Author
2020-08-16Port ClassDB tests to use doctestAndrii Doroshenko (Xrayez)
Extracted the most minimal core initialization functionality from `setup()` and `setup2()` so that `ClassDB` could be tested properly (input, audio, rendering, physics etc, are excluded). Display and rendering servers/singletons are not initialized at all. Due to the fact that most subsystems are disabled, fixed various crashes in the process (in order): - `AcceptDialog` OK/cancel swap behavior (used `DisplayServer` while `register_scene_types()`); - `make_default_theme` which depends on `RenderingServer`; - `XRServer` singleton access while calling `register_modules_types()`; - hidden bug in a way joypads are cleaned up (MacOS and Linux only). Removed manual `ClassDB` init/cleanup calls from `test_validate_testing.h`. ClassDB tests: Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2020-08-15Merge pull request #41285 from bruvzg/macos_on_top_4Rémi Verschelde
[macOS] Fix "on top" incorrectly set on init and resetting on window update.
2020-08-15Fix "on top" incorrectly set on init (all platforms).bruvzg
Fix "on top" reseting on window update. (macOS).
2020-08-15fixed linker being slow on OSXGordon MacPherson
2020-08-13Remove obsolete GLES2 backend codeRémi Verschelde
This code currently isn't compiled (and cannot compile). We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan (probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite different so it's not relevant to keep this old Godot 3.2 code. The `drivers/gles2` code from the `3.2` branch can be used as a reference for a potential new implementation.
2020-08-01platform: Update metadata for export platformsChristopher Davis
Updates the logos of for macOS, Android, and iOS; Also changes "Mac OSX" to "macOS" Addresses https://github.com/godotengine/godot-proposals/issues/1161
2020-07-26[macOS] Refocus last key window after `DisplayServer::alert` is closed.bruvzg
2020-07-26CI: Install master version of psf/blackRémi Verschelde
Until https://github.com/psf/black/pull/1328 makes it in a stable release, we have to use the latest from Git. Apply new style fixes done by latest black.
2020-07-26Merge pull request #38727 from Riteo/tiling-wm-issues-testsRémi Verschelde
Fixes for windows in X11 tiling WMs
2020-07-26[macOS] Prevent setting `BORDERLESS` flag and calling ↵bruvzg
`window_move_to_foreground` from giving focus to window with `NO_FOCUS` flag.
2020-07-24[macOS / ARM64] Remove "-msse2" flag from ARM64 release export template ↵bruvzg
build. Add ARM64 breakpoint inline assembly to "doctest".
2020-07-24t Add unit testing to Godot using DocTest and added to GitHub Actions CIRevoluPowered
Implements exit codes into the engine so tests can return their statuses. Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically. Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header. This lowers the complexity of running the unit tests and even for physics should be possible to implement such a fix.
2020-07-23SCons: Remove unused DEBUG_MEMORY_ENABLED defineRémi Verschelde
Its last use was removed in Godot 3.0, so it no longer makes sense to define. Also removed `D3D_DEBUG_INFO` for Windows as it's likely a left over from a long time ago pre-opensourcing when Godot had some form of Direct3D 9 support?
2020-07-23DisplayServer: separate window showing into another functionLorenzo Cerqua
When creating a window, Godot would first register it to the WM(show it) and then set its flags. This works fine on a floating WM, but on tiling WMs as soon as a window gets registered the WM immediately acts on the window by scaling it up and treating it as a generic window, being registered without any special flags. This commit separates the showing of the window into another function and calls it after the most important flags are set, making windows with special flags(eg. all popups) work again on tiling WMs. Fixes #37930
2020-07-21Merge pull request #40450 from asmaloney/spellingRémi Verschelde
Fix spelling & grammar in comments, docs, and messages
2020-07-21Fix spelling & grammar in comments, docs, and messagesAndy Maloney
2020-07-21Merge pull request #40562 from nekomatata/osxcross-vulkan-layerRémi Verschelde
Fix Vulkan layer creation when compiling with OSXCross
2020-07-21Set minimum osx version to 10.12 for OSXCross compilationPouleyKetchoupp
Fixes this compilation error: In file included from thirdparty/vulkan/vk_mem_alloc.cpp:7: thirdparty/vulkan/vk_mem_alloc.h:3691:18: error: 'shared_mutex' is unavailable: introduced in macOS 10.12 std::shared_mutex m_Mutex; ^ /home/[user]/sources/osxcross/target/bin/../SDK/MacOSX10.14.sdk/usr/include/c++/v1/shared_mutex:178:58: note: 'shared_mutex' has been explicitly marked unavailable here class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_mutex
2020-07-21Fix MoltenVK layer creation when compiling with OSXCrossPouleyKetchoupp
2020-07-15Merge pull request #40268 from DanielZTing/masterRémi Verschelde
Fix cancel/OK button order on macOS
2020-07-14[macOS] Fix window size on macOS Big Sur (title bar height is no longer same ↵bruvzg
as menu height), use top-left corner as resize origin instead of bottom-left.
2020-07-14Merge pull request #40354 from bruvzg/add_vulkan_init_messageRémi Verschelde
Display error popup instead of crashing if Vulkan init failed.
2020-07-13Commit other files changed by file_format.shAaron Franke
2020-07-13Add error messages if Vulkan init failed, prevent Vulkan context freeing ↵bruvzg
uninitialized device and instance.
2020-07-10Fix cancel/OK button order on macOSDaniel Ting
The macOS platform convention regarding button order is cancel on left, OK on right.
2020-07-10Add override keywords.Marcel Admiraal
2020-07-09[macOS] Fix transient windows.bruvzg
2020-07-05Merge pull request #40111 from DanielZTing/masterRémi Verschelde
Fix opening URLS with special characters in macOS
2020-07-04[macOS] Implement seamless display scaling.bruvzg
2020-07-03Fix opening URLS with special characters in macOSDaniel Ting
The Online Tutorials section of InputMap in the editor's built-in documentation viewer contains this link: docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html#inputmap The macOS implementation for opening a link percent-encodes it before sending it to the browser, resulting in a 404. This is to fix #13422 where filenames with special characters could not be opened in Finder. However, this breaks URLS so I added a check to see if the resource scheme is file:// and if so, only then is it escaped. This allows other schemes like `http`, `ftp`, and `mailto` to be used.
2020-07-03Improve the situation of DND on X11Juan Linietsky
2020-07-02[macOS] Implement confined mouse mode.bruvzg
2020-07-01Merge pull request #39788 from bruvzg/macos_apple_siliconRémi Verschelde
[macOS] Add support for the Apple Silicon (ARM64) build target.
2020-07-01Environment: Refactor code for readability + moreRémi Verschelde
- Makes all boolean setters/getters consistent. - Fixes bug where `glow_hdr_bleed_scale` was not used. - Split CameraEffects to their own source file. - Reorder all Environment method and properties declarations, definitions and bindings to be consistent with each other and with the order of property bindings. - Bind missing enum values added with SDFGI. - Remove unused SDFGI enhance_ssr boolean. - Sync doc changes after SDFGI merge and other misc changes.
2020-06-30[macOS] Add application become/resign active notifications.bruvzg
2020-06-30[macOS export] Set correct external file attributes (Unix mode), and ↵bruvzg
creation time.
2020-06-29[macOS] Add support for the Apple Silicon (ARM64) build target.bruvzg
2020-06-22macOS, prevent multiple CGDisplayHideCursor calls unpaired with ↵bruvzg
CGDisplayShowCursor.
2020-06-20Set proper file type attribute for OSX zip exportPouleyKetchoupp
The missing file type in file attributes was causing the file to lose executable permissions when unzipped with some softwares.
2020-06-19Rename "Identifier" to "Bundle Identifier" in macOS/iOS export presetsHugo Locurcio
"Bundle Identifier" is more well-understood among macOS and iOS developers and is less ambiguous. This is a slight breaking change as export presets will need to be updated to account for this change. See https://github.com/godotengine/godot-docs/pull/3295.
2020-06-15Merge pull request #39457 from bruvzg/kbd_layoutsRémi Verschelde
Add keyboard layout enumeration / set / get functions.
2020-06-13Add keyboard layout enumeration / set / get functions (macOS, Windows, ↵bruvzg
Linux/X11), remove latin variant function.
2020-06-10macOS export, add notarization support and id / signing / notarization ↵bruvzg
config check.
2020-05-30 Update OSX GUID to SDL uid conversion.Marcel Admiraal
Co-authored-by: John Wakley <johncwakley@users.noreply.github.com>
2020-05-19Merge pull request #33447 from bruvzg/macos_zip_signRémi Verschelde
macOS add signing of DMG and ZIPed export
2020-05-16Fix popup positions on multiple screens (with same scaling only).bruvzg
2020-05-15macOS signing improvements: allow signed app exporting as ZIP, sign DMG ↵bruvzg
after exporting.
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.