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