Commit graph

1318 commits

Author SHA1 Message Date
Wilson E. Alvarez 7a07895920 Added/Fixed null pointer checks 2017-08-26 16:58:47 -04:00
Henrik Andersson 3cd3c1da5f Fix refactored Object::cast_to in NO_SAFE_CAST branch 2017-08-26 18:59:37 +02:00
Wilson E. Alvarez bd257153dc Free memory when Main::setup returns an error 2017-08-25 21:12:19 -04:00
Wilson E. Alvarez 1577f41653 Fixed several memory leaks 2017-08-25 08:47:05 -04:00
Hein-Pieter van Braam cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Pedro J. Estébanez d806ad4a3d Implement custom thread numbering for POSIX
For every UNIX-derived (Android, Linux, macOS, iOS) flavor, a global counter is atomically incremented on thread start. That id is kept as thread-local storage.

Therefore, thread ids are sequential numbers, trivially comparable. This improves the previous state of things, in which `pthread_t` were casted to `Thread::ID` and unportabily compared. Also big, ugly thread ids appeared.
2017-08-24 07:02:55 +02:00
Fabio Alessandrelli d7f08ead4e Allow building fat binaries with osxcross 2017-08-23 15:44:22 +02:00
Rémi Verschelde 582a97fc2c Merge pull request #10575 from henkz1/android_quit_error
fix UnsatisfiedLinkError when quitting on android
2017-08-23 08:11:34 +02:00
Henrik Andersson 16de3835fa fix UnsatisfiedLinkError when quitting 2017-08-23 03:14:51 +02:00
Wilson E. Alvarez baa94a3758 Removed unnecessary returns and break statements 2017-08-22 13:01:57 -04:00
Pedro J. Estébanez 2a5ee5dec9 Fix Android remote debug not hitting breakpoints
A change in `Main`'s API is needed. Please read the comment in the diff for an explanation.
2017-08-22 17:24:20 +02:00
Pedro J. Estébanez 39c6b3d942 Make Android debug over USB the only option
'Remote debug over ADB' is removed as that will be always the case.
2017-08-22 17:17:42 +02:00
Rémi Verschelde 7f49e2a7a0 Merge pull request #10487 from marcelofg55/curscr_as_default
p_screen param from get_screen_* funcs now default to the current screen
2017-08-22 08:12:04 +02:00
Rémi Verschelde df590fc2d3 Merge pull request #10340 from Rubonnek/remove-unnecessary-assignments
Removed unnecessary assignments
2017-08-22 00:58:12 +02:00
Rémi Verschelde 13f879587d Merge pull request #10254 from marcelofg55/master
Added notification const NOTIFICATION_WM_ABOUT
2017-08-22 00:56:31 +02:00
Marcelo Fernandez 63f847b306 p_screen param from get_screen_* funcs now default to the current screen 2017-08-21 18:28:29 -03:00
Wilson E. Alvarez 738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Rémi Verschelde 4717d37bfa Merge pull request #10471 from akien-mga/args-doubledash
Third take at making command-line arguments more UNIX-like + main.cpp and help cleanup
2017-08-21 21:01:19 +02:00
Marcelo Fernandez c6edf1821e Fix y axis for set_window_position on OS X 2017-08-21 12:36:04 -03:00
Rémi Verschelde 93f1fb1c2f Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Always use long form of arguments when starting a new Godot process from C++, for clarity and easy grepping
- Cleanup obsolete code here and there
2017-08-21 08:09:22 +02:00
Juan Linietsky b9dcebb37c Revert "Second take at making command-line arguments more UNIX-like + main.cpp and help cleanup" 2017-08-19 17:47:27 -03:00
Rémi Verschelde 70b0857f6c Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Cleanup obsolete code here and there
2017-08-19 16:48:11 +02:00
Zher Huei Lee e3e2f06324 Replacement of internal RegEx with PCRE2
The pattern and replacement matching behaviour has been changed purely
due to the nature of switching to a standards-compliant library.

One mistake in the previous behaviour was that named groups didn't have
a number. This has been corrected.

As names are actually just an alias of numbered groups,
RegExMatch::get_name_dict() is now get_names() and is a dict
referring to the group number it represents.

Duplicate names are enabled and the with the first matching instance
used.

Due the lack of a suitable equivalent in PCRE2, RegExMatch::expand() was
removed.
2017-08-19 19:29:14 +08:00
Richard Adenling 398e0930dc Set the X11 class hint before mapping the window
Setting the class hint before mapping the window will allow some
window managers to determine if a window should be treated specially.
This is also in accordance with the ICCCM spec which says that
WM_CLASS should only be changed when a window is in a
withdrawn (unmapped) state.

Fixes #10429
2017-08-19 00:16:46 +02:00
Rémi Verschelde 6afa087596 Windows: Drop support for obsolete MinGW
The version we support is MinGW-w64: https://sourceforge.net/p/mingw-w64
The old original MinGW from which it was forked (https://sourceforge.net/projects/mingw),
is no longer maintained and useless for us.

Fixes #10396.
2017-08-18 21:46:46 +02:00
Rémi Verschelde 2ed87f33cf Workaround missing WM_TOUCH on mingw-w64 < 4.0
Upstream bug report: https://sourceforge.net/p/mingw-w64/bugs/460/
2017-08-18 21:05:19 +02:00
Rémi Verschelde 3b553377c7 Windows: Drop support for Vista (0x0600)
We need the efficient SRWLock methods which are not supported on Vista,
and loading them dynamically while providing fallbacks is not worth the
effort. Closes #10243.

Sorry Vista users... As you are running a supported which is no longer
supported by Microsoft (https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet),
we can only encourage you to upgrade to a more recent version if you can,
or switch to Linux, which should give your old hardware a new youth.
2017-08-18 19:50:24 +02:00
Marcelo Fernandez eab850524e Add closest_power_of_2 func and implement mix_rate/latency on OS X 2017-08-17 19:51:13 -03:00
Wilson E. Alvarez bde864cd30 Removed unused variable 2017-08-17 11:43:44 -04:00
Marcelo Fernandez aae29c7a0e Added notification const NOTIFICATION_WM_ABOUT 2017-08-17 11:28:45 -03:00
TwistedTwigleg 00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00
Rémi Verschelde a8207b2dc7 Merge pull request #10264 from Rubonnek/use-const-reference
Use const reference where favorable
2017-08-16 16:41:35 +02:00
Marcelo Fernandez 51f9bbc556 Fix get_screen_* funcs returning old values after resolution changes on Windows 2017-08-14 14:49:36 -03:00
Wilson E. Alvarez 21d281c4a9 Use const reference where favorable 2017-08-14 13:28:06 -04:00
Rémi Verschelde 5cb09d31d8 Merge pull request #10142 from bruvzg/3.0-osx-ime
Add IME support (macOS)
2017-08-11 10:35:10 +02:00
Ignacio Etcheverry 2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
bruvzg 8aa86cb9bc Implement NSTextInputClient protocol for IME 2017-08-09 19:09:33 +03:00
toger5 2286037bc3 removed calls to cursor_set_visible on all platforms fixes #10167 2017-08-08 14:04:22 +02:00
Rémi Verschelde 3121b3a4f4 Merge pull request #10141 from ISylvox/lower_case_godot_api
Makes all Godot API's Methods lower_case
2017-08-07 14:59:39 +02:00
Rémi Verschelde b0dfec77c2 Merge pull request #10127 from bruvzg/3.0-osx-logging
Duplicate error messages to macOS logging system (Console.app)
2017-08-07 14:58:25 +02:00
Rémi Verschelde 19231aa80f Merge pull request #10106 from BastiaanOlij/ios_fix_buttons
iOS copy touch coordinate as is
2017-08-07 14:50:47 +02:00
Rémi Verschelde 6d213909cb Merge pull request #10105 from eska014/html5-touch-hint
Implement OS.has_touchscreen_ui_hint() in HTML5 platform
2017-08-07 14:49:33 +02:00
Rémi Verschelde 4775d07977 Merge pull request #10104 from eska014/canvas-mgmt
Improve HTML5 canvas management
2017-08-07 14:49:16 +02:00
Rémi Verschelde ae88eb5b50 Merge pull request #10099 from bruvzg/3.0-fix-osx-warp_mouse_pos
Fix warp_mouse_pos on macOS
2017-08-07 14:47:54 +02:00
Indah Sylvia 5ae78fdf6a Makes all Godot API's methods Lower Case 2017-08-07 18:24:35 +07:00
Rémi Verschelde 2bb8ab7b89 Merge pull request #10045 from marcelofg55/audioserver_finish
Fix double finalisation of audio drivers
2017-08-07 11:11:03 +02:00
George Marques d9a97aae04
UWP: Add Gamepad vibration support 2017-08-07 00:09:18 -03:00
George Marques f89f9f0094
UWP: Fix Gamepad removal logic
Fix #9209
2017-08-07 00:07:19 -03:00
bruvzg 68bf243461 Duplicate error messages to macOS logging system 2017-08-06 21:55:30 +03:00
Bojidar Marinov 7b7c7c8dc0
Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTER
Closes #7695
2017-08-06 16:26:07 +03:00
BastiaanOlij 18dc9d1d5a Copy point into mouse event as is 2017-08-05 17:31:29 +10:00
L. Krause bd48f210a1 Improve HTML5 canvas management
- set_window_maximized hides page content
 - Fix sporadic full-screen render-size bug in Chromium
 - Smoother resizing for maximized canvas
2017-08-05 05:27:58 +02:00
bruvzg 0ed3da8e2a Fix warp_mouse_pos on macOS 2017-08-04 23:43:32 +03:00
Rémi Verschelde 7ac50b523b Merge pull request #9976 from ISylvox/update-gradle-android-master
[3.0] Update Gradle-Android buildtool
2017-08-04 09:45:19 +02:00
Marcelo Fernandez 1ca107a057 Fix double finalisation of audio drivers 2017-08-02 11:45:19 -03:00
Rémi Verschelde edd69de1fd Merge pull request #9838 from RandomShaper/android-arm64
Add support for ARMv8 (64-bit) on Android
2017-08-01 22:24:31 +02:00
Rémi Verschelde 878f34d1e1 Merge pull request #9886 from bruvzg/3.0-win-num-enter-fix
Fix Numpad Enter key on Windows (3.0)
2017-07-31 22:59:24 +02:00
Rémi Verschelde 76005a8e75 Style: Apply clang-format on all files
Thus fixing some invalid changes that had still made it to the master branch.
2017-07-30 22:53:40 +02:00
Marcelo Fernandez 76821bbb47 Fix mutex initialisation in OS X Audio Driver 2017-07-30 16:35:08 -03:00
Rémi Verschelde 263452ee91 Merge pull request #9960 from marcelofg55/master
Fix get_screen_* funcs returning old values after resolution changes on OS X
2017-07-30 20:59:04 +02:00
ISylvox 0d8556a7f0 update gradle-android buildtool for master 2017-07-30 11:30:20 +07:00
Marcelo Fernandez abbf821ddf Fix get_screen_* funcs returning old values after resolution changes on OS X 2017-07-28 18:08:57 -03:00
bruvzg d18922a56e Change display scale when moving the window from monitor to monitor 2017-07-28 20:17:19 +03:00
Rémi Verschelde d9b4969c18 Merge pull request #9921 from RandomShaper/fix-android-debug
Fix Android debug/run
2017-07-28 11:15:40 +02:00
Rémi Verschelde a7b35edf7b Merge pull request #9874 from bruvzg/3.0-osx-menu
Add macOS main menu (3.0)
2017-07-28 11:05:05 +02:00
Rémi Verschelde 5caf9d0d08 Merge pull request #9876 from bruvzg/3.0-resize-fix
Improved macOS window resizing behaviour (3.0)
2017-07-28 11:02:28 +02:00
L. Krause 0c693595d6 Implement touch-screen check in HTML5 platform 2017-07-28 05:39:25 +02:00
Pedro J. Estébanez c8d1457898 Fix Android debug/run
- Prefix all __adb__ commands with device specification to avoid errors when multiple devices connected.
- Include Android release in device data collection.
- Force system user:.
    - Ability to enable/disable.
    - Apply only if OS release >= 17 (when multiuser was introduced.
    - Fix argument passing.
- Rename local variable `port` to `dbg_port` to better match its partner `fs_port`.
- Fix typo in error message.
2017-07-27 17:32:39 +02:00
Karroffel 135c2112ad added an optional parameter to OS symbol lookup
When looking up a symbol from a library, previously an error was
shown when the symbol did not exist. That caused confusion when the
lookup was completely optional.
This adds a new parameter to that method so that those errors can
be handled manually if needed.
2017-07-27 11:13:21 +02:00
bruvzg 3220fee6b2 Fix is_window_fullscreen() and set_window_fullscreen() behaviour after window has entered/left full-screen mode via green zoom button.
Fix get/set_current_screen & set_window_maximized.
2017-07-27 10:05:33 +03:00
bruvzg f98a203377 Add macOS main menu 2017-07-27 10:05:29 +03:00
Rémi Verschelde 411f09a512 Merge pull request #9887 from StraToN/power-fix-x11
Fix power management on x11 platform and removes explicit NULL pointer dereference
2017-07-27 08:53:27 +02:00
Rémi Verschelde 6645c7cc18 Merge pull request #9872 from bruvzg/3.0-num-enter-fix
Remove duplicate keycode constant for Numpad Enter key (3.0)
2017-07-27 08:52:52 +02:00
Julian Murgia 71dcb7fcc4 Fixes power management on x11 platform and removes explicit NULL pointer dereference. 2017-07-26 23:29:51 +02:00
bruvzg 66d3022516 Fix Numpad Enter key on Windows 2017-07-26 21:35:54 +03:00
bruvzg 1c1565d0f9 Improved macOS window resizing behaviour. 2017-07-26 16:29:48 +03:00
bruvzg 7de7ca8ae4 Remove duplicate keycode constant for Numpad Enter key. 2017-07-26 14:43:02 +03:00
BastiaanOlij 20502d9180 Added features for image formats 2017-07-26 21:01:48 +10:00
Rémi Verschelde f55211ae0d Merge pull request #9823 from BastiaanOlij/ios_fix_framebuffer_order
Fixed setting our system_fbo framebuffer
2017-07-26 07:51:20 +02:00
Rémi Verschelde 9f768cb519 Make MinGW test less verbose on non-Bash shells
The &> construct seems to be Bash-specific.
Supersedes #9755.
2017-07-25 20:44:44 +02:00
Pedro J. Estébanez f78299c81b Add support for ARMv8 (64-bit) on Android 2017-07-25 12:28:46 +02:00
Rémi Verschelde 7cbe12725e Merge pull request #9825 from RandomShaper/rename-android-define
Remove ANDROID define
2017-07-25 11:35:08 +02:00
Pedro J. Estébanez 6ea233434a Remove ANDROID define
Fixes GDNative build error on Android.

It's also discouraged by Google to rely on it. In case someone needs to check, use ``__ANDROID__`` instead, provided by the very same compiler.
2017-07-25 11:08:52 +02:00
Jia Wang 2f5b7f8777 Workaround to allow pasting unicode characters from X selection.
Fixes #2491.
Fixes #9787.
2017-07-25 08:00:48 +08:00
BastiaanOlij 3bfdc583cb Fixed setting our system_fbo framebuffer 2017-07-25 08:29:48 +10:00
Marcelo Fernandez 2c27501c3f Fix Right-Click (Ctrl-Click) on OS X 2017-07-23 12:45:59 -03:00
Rémi Verschelde 38c471bef6 Merge pull request #9765 from Noshyaar/pr-clang
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-23 13:16:48 +02:00
Rémi Verschelde 401f1098f6 Merge pull request #9770 from eska014/html5-focus
Implement input focus behavior in HTML5
2017-07-23 13:13:09 +02:00
Rémi Verschelde e5aa8546ec Merge pull request #9713 from marcelofg55/master
Fix for possible crash in OS X audio init.
2017-07-23 13:05:49 +02:00
Juan Linietsky 772485cdb3 Several changes to better run in mobile. 2017-07-22 14:08:17 -03:00
L. Krause ca28c068c0 Implement input focus behavior in HTML5
- Key and mouse events are only consumed if canvas is focused
 - NOTIFICATION_WM_MOUSE_ENTER, _MOUSE_EXIT, _FOCUS_IN and _FOCUS_OUT are
   emitted
2017-07-22 17:25:15 +02:00
Poommetee Ketson c7c65ca6ba Clang-formatting *.cpp and *.h (some files excluded) 2017-07-22 18:14:08 +07:00
Juan Linietsky 25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Ruslan Mustakov fbb27a0c43 Fix android export templates build
This commit fixes errors occurring during Android export template
builds.
This required modification in third-party library (libpng) to compile
with NEON. Most likely a similar patch will be applied by them and we
could then replace the modified version.
2017-07-20 01:58:47 +07:00
Marcelo Fernandez bbc207675f Fix for possible crash in OS X audio init. 2017-07-19 11:05:51 -03:00
geequlim 5a2500f580 Fix errors with global config names no more sorrys please 2017-07-19 09:25:50 +08:00
Juan Linietsky bbada82f80 -Reorganized all properties of project settings (Sorry, Again).
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Rémi Verschelde 1c1d43ef21 Merge pull request #9668 from marcelofg55/master
Reinit audio device when the system default device changes on OS X
2017-07-17 22:29:17 +02:00
Rémi Verschelde 80b2a47022 Merge pull request #9669 from eska014/html5-implicit-cache
Fix zipping HTML5 templates when using SCons' implicit cache
2017-07-17 12:04:18 +02:00
Marcelo Fernandez 764f607611 Reinit audio device when the system default device changes on OS X 2017-07-16 23:35:23 -03:00