summaryrefslogtreecommitdiff
path: root/platform/x11
AgeCommit message (Collapse)Author
2018-07-27Running builder (content generator) functions in subprocesses on WindowsViktor Ferenczi
- Refactored all builder (make_*) functions into separate Python modules along to the build tree - Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere - Introduced stub to use the builders module as a stand alone script and invoke a selected function There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp) on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky builds. Running all such content generators in a new subprocess instead of directly inside the build script works around the issue. Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle. Suggested workaround did not fully work either. Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of running a cross-compilation on Windows they would still be used, but likely it will not happen in practice. What counts is that the build itself is running on which platform, not the target platform. Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-25Merge pull request #20154 from marcelofg55/midi_driverRémi Verschelde
Added a new MIDIDriver class
2018-07-22SCons: Add "execinfo" option to force linking libexecinfoRémi Verschelde
Fixes #20035.
2018-07-21-Fix disable_3d flagJuan Linietsky
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-21Added a new MIDIDriver classMarcelo Fernandez
2018-07-20Fix some more build issues after c69de2ba4Rémi Verschelde
Fixes #20301.
2018-07-19-Project/Editor settings now use new inspectorJuan Linietsky
-Project/Editor settings now show tooltips properly -Settings thar require restart now will show a restart warning -Video driver is now visible all the time, can be changed easily -Added function to request current video driver
2018-07-18Style: Format code with clang-format 6.0.1Rémi Verschelde
2018-07-02Add a new notification to detect crashes on native scriptsMarcelo Fernandez
2018-06-28Optimize images losslessly using `oxipng -o6 --strip all --zopfli`Hugo Locurcio
2018-06-25Merge pull request #19718 from thduynguyen/bug_fixesRémi Verschelde
bugfix: correct #ifdef for TOUCH_ENABLED and OPENGL_ENABLED
2018-06-22bugfix: correct #ifdef for TOUCH_ENABLED and OPENGL_ENABLEDDuy-Nguyen Ta
2018-06-11IME context detection.Saracen
2018-06-07Tweak some help texts in the build systemHugo Locurcio
This also removes `unix_global_settings_path` from SConstruct since it is no longer used.
2018-06-07SCons: Allow unbundling libwebsockets and miniupnpcRémi Verschelde
2018-05-28Change position of validation in set_custom_mouse_cursorGuilherme Felipe
2018-05-28Merge pull request #19210 from guilhermefelipecgs/fix_invalid_imageMax Hilbrunner
Add validation in set_custom_mouse_cursor
2018-05-27Add validation in set_custom_mouse_cursorGuilherme Felipe
Check if the image is valid.
2018-05-26Fix memory leak in set_custom_mouse_cursorGuilherme Felipe
2018-05-23More fixes to set_borderless_windowGuilherme Felipe
[x11] Preserve window size when calling this method. [osx] Make sure it don't make the window resizable if it's not needed. [windows] clean up the code.
2018-05-20Fix #19033Guilherme Felipe
- Fix a bug when mouse is confined don't update the cursor shape. - Don't let the mouse leave the window when resizing to a smaller resolution when MOUSE_MODE_CONFINED. - Fix set_borderless_window to preserve the actual video_mode.widht/height.
2018-05-10Reset the cursor with Input.set_custom_mouse_cursor(null)Guilherme Felipe
2018-05-09Add support for atlas texture on set_custom_mouse_cursorGuilherme Felipe
2018-05-08Merge pull request #14622 from bruvzg/non-rectangular-windowsHein-Pieter van Braam
Experimental support for windows with per-pixel transparency.
2018-04-30Implement universal translation of touch to mousePedro J. Estébanez
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*) The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers. Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse. *: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest. On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction. Plus: Improve/fix tracking of current mouse position. ** Summary of changes to settings: ** - `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse` - New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-09Fix custom cursor when it's hiddenGuilherme Felipe
[Linux] Ensures that the custom cursor will be used when changing to MOUSE_MODE_VISIBLE. Fix #3086 [Windows] Fix cursor flickering when MOUSE_MODE_HIDDEN. [Mac] Fix possible cursor flicker when MOUSE_MODE_HIDDEN.
2018-04-07Merge pull request #17742 from marcelofg55/audio_device_listJuan Linietsky
Added new audio device functions to set/get the audio device
2018-04-07Experimental support for windows with per-pixel transparency (macOS, X11 and ↵bruvzg
Windows).
2018-04-05Remove size restriction for mouse cursorGuilherme Felipe
2018-03-26Added new audio device functions to set/get the audio deviceMarcelo Fernandez
2018-03-06Explicitly set OpenGL profile to core (X11, Windows).bruvzg
Enable GLES2 on Windows.
2018-03-04Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez
2018-03-02Fix `--help` output, allow renderer override from command line ↵bruvzg
(`--video-driver`).
2018-03-01add GLES 2 renderer for 2Dkarroffel
This commit adds a new rendering backend, GLES2, and adds a project setting to enable it. Currently this backend can only be used on the X11 platform, but integrating into other platforms is planned.
2018-03-01Fix server build on FreeBSDFabio Alessandrelli
2018-02-28Fix various valgrind reported uninitialized variable usesHein-Pieter van Braam
2018-02-21Fix typos with codespellluz.paz
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt` Whitelist consists of: ``` ang doubleclick lod nd que te unselect ```
2018-02-19Merge pull request #16675 from ↵Rémi Verschelde
Iskustvo/improved_error_detectioin_in_move-to-trash_for_Linux [X11] Improving error detection in move_to_trash
2018-02-19Merge pull request #16696 from BTaskaya/masterRémi Verschelde
PEP3101 applied with changing old type string formatting as new ones
2018-02-18[X11] Improving error detection in move_to_trashIskustvo
2018-02-16Remove window decorations for fullscreen on X11Pedro J. Estébanez
2018-02-16X11: Link libgcc statically with use_static_cpp optionRémi Verschelde
We were already linking libstdc++ statically for official binaries, protecting us against most portability issues. But apparently since we started using GCC 7 for official builds, we also need to link libgcc statically for at least 32-bit builds to be portable. Fixes #16409.
2018-02-14PEP3101 applied with changing old type string formatting as new onesBTaskaya
2018-02-14Merge pull request #15564 from RandomShaper/adpod-topmostRémi Verschelde
Add new window setting: always on top
2018-02-14Merge pull request #15864 from GodotExplorer/pr-get_unique_id-desktop-implRémi Verschelde
Implement more methods for OS on Desktop platforms
2018-02-14Allow building with system wide mbedtls on X11Fabio Alessandrelli
Using builtin_mbedtls=yes is still the default as many distributions do not ship with mbedtls included.
2018-02-14Deleting OpenSSL module and libraryFabio Alessandrelli
2018-02-12Added OS::center_window to center the window precisely on desktop platformsMarcelo Fernandez
2018-02-01Fix inconsistencies and typos in argument namesPaolo Perkovic