Commit Graph

626 Commits

Author SHA1 Message Date
2a8531cc56 Merge pull request #41456 from nekomatata/x11-fix-popups
Popup fixes for X11 display server
2020-09-03 00:09:19 +02:00
9a85948907 [macOS] Fix heap use-after-free in DisplayServer. 2020-08-25 14:04:20 +03:00
2b49cb0b73 Re-apply "Fixes for windows in X11 tiling WMs"
From PR #38727 which was reverted in #41373 because of regressions in Ubuntu
with Gnome.

Co-authored-by: Lorenzo Cerqua <lorenzocerqua@tutanota.com>
2020-08-22 18:42:42 +02:00
9c5c1635b2 Revert "Fixes for windows in X11 tiling WMs" 2020-08-19 12:37:59 -03:00
6f426c3360 Port ClassDB tests to use doctest
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-16 16:41:02 +03:00
d4665e7859 Merge pull request #41285 from bruvzg/macos_on_top_4
[macOS] Fix "on top" incorrectly set on init and resetting on window update.
2020-08-15 17:59:05 +02:00
9d1cf0b6af Fix "on top" incorrectly set on init (all platforms).
Fix "on top" reseting on window update. (macOS).
2020-08-15 17:53:18 +03:00
788c521ce8 fixed linker being slow on OSX 2020-08-15 01:55:36 +01:00
33b2070d2e Remove obsolete GLES2 backend code
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-13 10:04:53 +02:00
f797e1c078 Improve OS::get_locale() on macOS and Windows, replace "-" with "_" and use system macros instead of bitwise AND. Add locale format info to the documentation. 2020-08-11 13:19:19 +03:00
41d8c0c818 platform: Update metadata for export platforms
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-08-01 23:43:14 -07:00
a05776e20d [macOS] Refocus last key window after DisplayServer::alert is closed. 2020-07-26 23:00:49 +03:00
f940e5e000 CI: Install master version of psf/black
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-26 19:48:25 +02:00
3842e8c465 Merge pull request #38727 from Riteo/tiling-wm-issues-tests
Fixes for windows in X11 tiling WMs
2020-07-26 17:41:28 +02:00
4c0081105f [macOS] Prevent setting BORDERLESS flag and calling window_move_to_foreground from giving focus to window with NO_FOCUS flag. 2020-07-26 15:46:07 +03:00
09f301029a [macOS / ARM64] Remove "-msse2" flag from ARM64 release export template build. Add ARM64 breakpoint inline assembly to "doctest". 2020-07-24 17:54:34 +03:00
579342810f t Add unit testing to Godot using DocTest and added to GitHub Actions CI
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-24 13:05:33 +01:00
dcf902df85 SCons: Remove unused DEBUG_MEMORY_ENABLED define
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-23 09:39:10 +02:00
d670a49612 DisplayServer: separate window showing into another function
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-23 07:58:10 +02:00
a5fb445121 Merge pull request #40450 from asmaloney/spelling
Fix spelling & grammar in comments, docs, and messages
2020-07-21 22:14:04 +02:00
4dda62f591 Fix spelling & grammar in comments, docs, and messages 2020-07-21 15:17:23 -04:00
f6b6d51052 Merge pull request #40562 from nekomatata/osxcross-vulkan-layer
Fix Vulkan layer creation when compiling with OSXCross
2020-07-21 12:57:52 +02:00
08b0fd4330 Set minimum osx version to 10.12 for OSXCross compilation
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-21 12:37:56 +02:00
ce34b77c4a Fix MoltenVK layer creation when compiling with OSXCross 2020-07-21 12:37:20 +02:00
c8523038cc Merge pull request #40268 from DanielZTing/master
Fix cancel/OK button order on macOS
2020-07-15 09:21:04 +02:00
850bbabe56 [macOS] Fix window size on macOS Big Sur (title bar height is no longer same as menu height), use top-left corner as resize origin instead of bottom-left. 2020-07-14 15:09:46 +03:00
28e8347d6c Merge pull request #40354 from bruvzg/add_vulkan_init_message
Display error popup instead of crashing if Vulkan init failed.
2020-07-14 09:03:25 +02:00
9986439352 Commit other files changed by file_format.sh 2020-07-13 14:14:11 -04:00
996910b627 Add error messages if Vulkan init failed, prevent Vulkan context freeing uninitialized device and instance. 2020-07-13 19:24:21 +03:00
9605fc54c7 Fix cancel/OK button order on macOS
The macOS platform convention regarding button order is cancel on left,
OK on right.
2020-07-10 15:10:11 -05:00
26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
bcc3c72d9c [macOS] Fix transient windows. 2020-07-09 14:22:56 +03:00
c2a0bfa95b Merge pull request #40111 from DanielZTing/master
Fix opening URLS with special characters in macOS
2020-07-05 00:51:13 +02:00
df968d577a [macOS] Implement seamless display scaling. 2020-07-04 10:36:33 +03:00
b8e6ff9a7f Fix opening URLS with special characters in macOS
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-03 23:00:48 -05:00
14263d3d0d Improve the situation of DND on X11 2020-07-03 12:09:22 -03:00
a9e341cff3 [macOS] Implement confined mouse mode. 2020-07-02 17:34:58 +03:00
5c9ee93f3e Merge pull request #39788 from bruvzg/macos_apple_silicon
[macOS] Add support for the Apple Silicon (ARM64) build target.
2020-07-01 16:45:23 +02:00
372136fe75 Environment: Refactor code for readability + more
- 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-07-01 14:44:45 +02:00
a07578592b [macOS] Add application become/resign active notifications. 2020-06-30 17:59:30 +03:00
accae11fe3 [macOS export] Set correct external file attributes (Unix mode), and creation time. 2020-06-30 10:16:02 +03:00
00299f15b4 [macOS] Add support for the Apple Silicon (ARM64) build target. 2020-06-29 12:33:51 +03:00
7a250b579f macOS, prevent multiple CGDisplayHideCursor calls unpaired with CGDisplayShowCursor. 2020-06-22 11:38:43 +03:00
4501771fd8 Set proper file type attribute for OSX zip export
The missing file type in file attributes was causing the file to lose
executable permissions when unzipped with some softwares.
2020-06-20 10:04:18 +02:00
fdb89a3f9a Rename "Identifier" to "Bundle Identifier" in macOS/iOS export presets
"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-19 09:59:38 +02:00
d3c10e8dd6 Merge pull request #39457 from bruvzg/kbd_layouts
Add keyboard layout enumeration / set / get functions.
2020-06-15 11:10:34 +02:00
92352b1c23 Add keyboard layout enumeration / set / get functions (macOS, Windows, Linux/X11), remove latin variant function. 2020-06-13 11:02:00 +03:00
f5c856ea40 macOS export, add notarization support and id / signing / notarization config check. 2020-06-10 15:58:30 +03:00
d04cbbd76b Update OSX GUID to SDL uid conversion.
Co-authored-by: John Wakley <johncwakley@users.noreply.github.com>
2020-05-30 17:38:39 +01:00
74b5d6839a Merge pull request #33447 from bruvzg/macos_zip_sign
macOS add signing of DMG and ZIPed export
2020-05-19 10:30:26 +02:00