Commit Graph

70 Commits

Author SHA1 Message Date
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
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-26 00:54:16 +02:00
ordigdug 9c7e647124 Fix -new inspector- remote debug view not changing to current scene after exiting game - Fixes #20075 2018-07-13 13:00:14 -04:00
Benjamin 98233073a9 Don't cut of long errors in debugger.
Autowrap to expand to up to 3 lines + display full error in tooltip.
2018-05-26 13:52:16 +02:00
Juan Linietsky 005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00
Juan Linietsky 80b9edf0f6
Merge pull request #16893 from GodotExplorer/debugger-improvement-3
Save runtime node as scene from remote scene tree.
2018-05-07 16:41:34 -03:00
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Poommetee Ketson 2de1dfa42f Update icons when theme changed 2018-02-25 23:04:16 +07:00
Paul Joannon 3ee4ce51a9
only show information we have in stacktrace
do not show line number and/or file if not defined
2018-02-24 21:18:57 +01:00
Artem Varaksa db2a1544c0 Insert proper copy icon to debugger 2018-02-22 10:50:38 +03:00
geequlim 24e6361cba Save runtime node as scene from the remote scene tree. 2018-02-22 10:00:13 +08:00
Daniel J. Ramirez cecf274364 Icons update
includes new enum, MeshInstance2D, Skeleton2D, Cut, Copy and Paste icons.
2018-02-21 19:05:50 -06:00
geequlim cfde737478 Don't print error message when select debugger stacks if the debugger is stopped.
Clear debugger stack inspector if the debugger is stopped when selected stack changed.
2018-02-21 19:28:26 +08:00
Michael Alexsander Silva Dias 0d13eb4225 Fixed Remote Tree not drawing relationship lines unless the setting is changed. 2018-02-20 18:12:44 -03:00
Michael Alexsander Silva Dias 32e3f257ac Made the Debugger's Stack Frames items reselectable. 2018-02-20 00:02:37 -03:00
Artem Varaksa b169b16f98 Fix #16543 (add button to copy error from debugger) 2018-02-14 14:53:20 +03:00
Guilherme Silva 9974e86904 Fix option run/output/always_open_output_on_play 2018-01-19 11:56:07 -02:00
Ignacio Etcheverry 5be356b72f Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
Rémi Verschelde 0df857f9f2
Merge pull request #15294 from poke1024/fix-debug-hangs
Fix Godot getting swamped by debug events
2018-01-08 15:36:59 +01:00
Bernhard Liebl 09dd70878e Fixes debugger randomly not pausing 2018-01-07 13:00:15 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Bernhard Liebl bd5e3052ac Fix Godot getting swamped by debug events 2018-01-03 15:59:10 +01:00
Rémi Verschelde 6cd33f17f7
Merge pull request #14792 from Krakean/enh-1
A few small Debugger->Errors tab enhancements:
2018-01-03 10:26:55 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Dmitry Koteroff ea14b0789b A few small Debugger->Errors tab enhancements:
1. Added "Clear" button to clear list.
2. Errors list now populated with newest items comes first, so no need to scroll everytime.
3. Added PopupMenu to errors list with ability to quickly Copy error text & details.
2017-12-18 03:40:49 +03:00
Rémi Verschelde a7c244564e Make auto switch to remote scene tree opt-in
The performance cost is too high for now, so it should be opt-in for users
who really need it all the time. Fixes #13833.
2017-12-04 10:25:35 +01:00
volzhs 452af98995 Better number format for memory usage 2017-11-25 02:09:32 +09:00
geequlim 9ef720908f Improved update for remote scene tree and remote object. 2017-11-23 15:23:24 +08:00
geequlim 2f5defab0e Add editor setting to allow keep show local scene tree while debugger start.
Rename editor setting scene_tree_refresh_interval to remote_scene_tree_refresh_interval.
2017-11-22 21:53:01 +08:00
Michael Alexsander Silva Dias 71ef7e8f6f Fixed the Remote tab not complying with the "Draw Relationship Lines" setting. 2017-11-21 18:21:03 -02:00
Geequlim fab66af7e9 Move the remote scene tree to the scene tree dock.
Ignore all script constants in the global section of the breakpoint stack.
Check property size before send to avoid too large of data be sent.
Fix crash while clear the remote objects from the debugger.
2017-11-17 12:01:54 +08:00
geequlim ccf76798d5 Send script members, contants and globals to debugger
Remove remote inspector panel
2017-11-17 09:20:32 +08:00
Poommetee Ketson 7f1d719c9a
Monitor: add checkbox to monitor list
so that users don't have to hold CTRL to select multiple entries.
2017-10-24 01:16:27 +07:00
Daniel J. Ramirez a97c8504fb Improved monitors units and colors. 2017-10-23 02:11:02 -05:00
Poommetee Ketson 9b634180aa Refactor Fixed to Physics 2017-10-21 21:28:08 +07:00
Andreas Haas 5303efb2fa Merge pull request #11659 from AndreaCatania/prephysics
Renamed fixed_process to physics_process
2017-10-02 23:10:36 +02:00
AndreaCatania 4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
toger5 e8c620abac fixed bottom panel debugger exception
- make it work in combination with the border for tabs
 - fixed updating when changing theme
2017-09-28 16:52:34 +02:00
Rémi Verschelde f577efd47e Merge pull request #11424 from groud/control_node_presets
Implements set_margins_preset(...)
2017-09-26 00:11:46 +02:00
volzhs 79e506ff52 Add font size setting for output panel 2017-09-25 23:43:35 +09:00
Gilles Roudiere 05bb8e0c10 Remove set_area_as_parent_rect and replace it by set_anchors_and_margins_preset(PRESET_WIDE) 2017-09-22 11:39:44 +02:00
Daniel J. Ramirez 4d14097439 Fixed metrics. 2017-09-17 18:58:36 -05:00
toger5 b37e869c89 fixed double border for debugger tab panel 2017-09-15 00:29:31 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Poommetee Ketson 473695ab47 Monitor: add hint, fix certain graph not drawn
Add a hint that helps user discover monitor graph
Fix last row drawn outside when only one graph is in that row
2017-08-26 23:02:52 +07: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
Daniel J. Ramirez 92c63dc9a7 Ability to set script debugger reason text context. 2017-08-22 14:18:41 -05:00
Juan Linietsky ab13d0aeed Inspector is no longer cleared when game runs, fixes #9408 2017-08-20 15:21:45 -03:00
Juan Linietsky dc62389739 -Properly check limits to objects sent (regarding to size), fixes #9034
-Changed the way objects are marshalled and sent to the debugger
-Editing debugged objects happens in the remote inspector now
2017-08-18 10:59:31 -03:00
Rémi Verschelde 81dde2687f Merge pull request #10164 from djrm/pr_theme_fixes
Visual polishing
2017-08-10 10:46:05 +02:00
Juan Linietsky 90a595ac42 Set some reasonable limits for sending information to the debugger, closes #5848 2017-08-08 20:55:22 -03:00