summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-23callable_mp: Fix non-debug branchRémi Verschelde
Was missed in #36393 because no `callable_mp()` calls were actually compiled with `tools=no` in that PR. Also work around GCC warning that also affects the `call_with_variant_args_ret_helper` variant.
2020-02-23Signals: Make callbacks non-const, callable_mp can't handle itRémi Verschelde
2020-02-23Merge pull request #36492 from reduz/variant-vector-refcountedRémi Verschelde
Store arrays inside of Variant as shared.
2020-02-23Store arrays inside of Variant as shared.Juan Linietsky
Arrays inside of Variant are unique and use reference counting. When you assign a variant containing a packed array to another, or when you call non const functions to arrays, this will work even if the array is inside a dictionary, so they will from now pass as reference. The difference with regular variant arrays is that, once passed to a function in the C++ API, they are no longer shared. This is required for security and thread safety, as those arrays are mainly used to pass data back and forth even between threads.
2020-02-23Merge pull request #36089 from dreamsComeTrue/fix-autocomplete-quotesRémi Verschelde
Fix: auto brace complete for quoted strings
2020-02-23Merge pull request #36485 from ofrank123/masterRémi Verschelde
Fix crash after closing a GDScript LSP session
2020-02-23Merge pull request #36484 from akien-mga/scons-compiler-version-checkRémi Verschelde
SCons: Add GCC/Clang minimum version check
2020-02-23SCons: Add GCC/Clang minimum version checkRémi Verschelde
Prevent using GCC 8 as it does not properly support C++17's guaranteed copy elision which we now need. (Upstream bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86521) Follow-up to #36457 and #36436.
2020-02-23Fix crash after closing a GDScript LSP sessionOliver Frank
2020-02-23Merge pull request #36482 from Faless/debugger/fix_bp_cmpRémi Verschelde
Fix Breakpoint compare in new Debugger.
2020-02-23Fix Breakpoint compare in new Debugger.Fabio Alessandrelli
Only used to keep the hashmap, but clearly bogus.
2020-02-23Merge pull request #36478 from qarmin/supsicious_operators_everywhereRémi Verschelde
Fix suspicious | and + operators
2020-02-23Fix suspicious | and + operatorsRafał Mikrut
2020-02-23Merge pull request #36411 from Janglee123/rect2-tweenRémi Verschelde
Added tween support for Rect2
2020-02-23Merge pull request #36461 from akien-mga/c++17-fallthrough-attributeRémi Verschelde
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
2020-02-23Added tween support for Rect2janglee
Fixes #34575
2020-02-23Merge pull request #36436 from reduz/new-variant-typesRémi Verschelde
Add support for Vector2i, Rect2i and Vector3i to Variant
2020-02-23Replace FALLTHROUGH macro by C++17 [[fallthrough]]Rémi Verschelde
This attribute is now part of the standard we target so we no longer need compiler-specific hacks. Also enables -Wimplicit-fallthrough for Clang now that we can properly support it. It's already on by default for GCC's -Wextra. Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-22Add support for Vector2i, Rect2i and Vector3i to VariantJuan Linietsky
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous operator problems in Variant. This was added for this commit (and future C++17 uses) in #36457.
2020-02-22Merge pull request #36465 from YeldhamDev/debugger_top_marginRémi Verschelde
Remove extra margin in the top of the debugger
2020-02-22Merge pull request #36463 from akien-mga/scons-msvc-c++17-cxxflagsRémi Verschelde
SCons: Ensure that MSVC gets /std:c++17 in CCFLAGS
2020-02-22Merge pull request #36464 from akien-mga/travis-macos-xcode-11.3-c++17Rémi Verschelde
Travis: Use Xcode 11.3 for macOS/iOS
2020-02-22Remove extra margin in the top of the debuggerMichael Alexsander
2020-02-22Travis: Use Xcode 11.3 for macOS/iOSRémi Verschelde
Xcode 10+ is needed for exhaustive C++17 support (gnu++17). 11.3 is the latest available version on Travis, and we don't have a specific reason not to use it. Follow-up to #36457.
2020-02-22SCons: Ensure that MSVC gets /std:c++17 in CCFLAGSRémi Verschelde
We were running this logic too early, so `env.msvc` was not initialized yet and MSVC used the same branch as GCC/Clang.
2020-02-22Merge pull request #36457 from akien-mga/c++-standard-gnu++17Rémi Verschelde
SCons: Bump required C++ standard to C++17
2020-02-22Travis: Use Ubuntu 18.04 (bionic) as base imageRémi Verschelde
It's now available and allows us to have a better default environment, with GCC 7.4.0 and Clang 7. We now need GCC 7+ for C++17 support so it's more efficient to upgrade the image than to install it on Ubuntu 16.04 (xenial). Also fixes a couple -Wdeprecated-declarations warnings on macOS now that we build against macOS 10.12.
2020-02-22SCons: Bump required C++ standard to C++17Rémi Verschelde
As per #36436, we now need C++17's guaranteed copy elision feature to solve ambiguities in Variant. Core developers discussed the idea to move from C++14 to C++17 as our minimum required C++ standard, and all agreed. Note that this doesn't mean that Godot is going to be written in "modern C++", but we'll use modern features where they make sense to simplify our "C with classes" codebase. Apart from new code written recently, most of the codebase still has to be ported to use newer features where relevant. Proper support for C++17 means that we need recent compiler versions: - GCC 7+ - Clang 6+ - VS 2017 15.7+ Additionally, C++17's `std::shared_mutex` (conditionally used by `vk_mem_alloc.h` when C++17 support is enabled) is only available in macOS 10.12+, so we increase our minimum supported version.
2020-02-22Merge pull request #36440 from YeldhamDev/debugger_visual_fixFabio Alessandrelli
Fix visuals of the new debugger editor
2020-02-22Fix visuals of the new debugger editorMichael Alexsander
2020-02-22Merge pull request #36454 from akien-mga/vulkan-workaround-32-bit-lib-errorRémi Verschelde
Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs
2020-02-22Merge pull request #36455 from reduz/giprobe-debug-fixJuan Linietsky
Correct condition wrongly converted to ERR_FAIL_COND_MSG
2020-02-22Correct condition wrongly converted to ERR_FAIL_COND_MSGJuan Linietsky
Fixes debugging of giprobes not working, likely other stuff
2020-02-22Merge pull request #36452 from akien-mga/doc-bogus-variant-returnRémi Verschelde
doc: Sync classref with apparent Variant return type changes
2020-02-22Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDsRémi Verschelde
In the vast majority of cases, this will be a false positive error thrown by Vulkan-Loader when a Linux system has Vulkan ICDs for both 32-bit and 64-bit. The error is of the form: ``` ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32 ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32 ``` The loader dlopen's the 32-bit ICDs first, raises this error, and then happily goes on to try and use the 64-bit ICDs. Upstream report: https://github.com/KhronosGroup/Vulkan-Loader/issues/262 Fixes #36185.
2020-02-22doc: Sync classref with apparent Variant return type changesRémi Verschelde
Part of those seem bogus, methods like Array.back()/front() should return a Variant and not void.
2020-02-22doc: Sync classref with StringName/Callable changesRémi Verschelde
2020-02-22Merge pull request #36441 from YeldhamDev/tabs_unused_constantsRémi Verschelde
Remove unused theme constants in Tab(Container)
2020-02-21Stub out Vulkan context for iPhoneSam Green
2020-02-21Add iphone to vulkan drivers SCsubSam Green
2020-02-21Add use_static_mvk optionSam Green
2020-02-21Update detect.pySam Green
2020-02-21Resolve iOS and GLES compilation failuresSam Green
2020-02-21Import the correct rasterizer based on build settingsSam Green
2020-02-22Remove unused theme constants in Tab(Container)Michael Alexsander
2020-02-21Fix: auto brace complete for quoted stringsDominik 'dreamsComeTrue' Jasiński
Fixes #36002
2020-02-21Merge pull request #36421 from Chaosus/vs_sort_custom_nodsYuri Roubinsky
Refactor node processing in visual shader member dialog
2020-02-21Merge pull request #36400 from reduz/variant-string-nameRémi Verschelde
Added StringName as a variant type.
2020-02-21Refactor node processing in visual shader member dialogYuri Roubinsky
2020-02-21Merge pull request #36393 from reduz/callable-method-pointerRémi Verschelde
New callable_mp macro, for signals to call method pointers directly.