virtualx-engine/tools/editor
Hein-Pieter van Braam b696beea65 Correct hash behavior for floating point numbers
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:

* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.

* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.

* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.

* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.

C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.

GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.

This fixes #7354 and fixes #6947.
2017-02-16 18:44:29 +01:00
..
collada Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
doc Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
fileserver Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
icons Merge pull request #7352 from Zylann/polyline 2017-02-12 23:30:04 +01:00
import Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
io_plugins Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
plugins Correct hash behavior for floating point numbers 2017-02-16 18:44:29 +01:00
translations Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
animation_editor.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
animation_editor.h Finish renaming *Frame GUI classes to *Rect 2017-01-14 10:52:54 +01:00
array_property_edit.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
array_property_edit.h Merge pull request #6930 from bojidar-bg/gdscript-export-array-hint 2017-01-11 14:46:38 +01:00
asset_library_editor_plugin.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
asset_library_editor_plugin.h some class renames 2017-01-12 18:28:12 -03:00
call_dialog.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
call_dialog.h Removed ratio anchoring (will have to fix multiple 3D views later..) 2017-01-08 19:12:24 -03:00
code_editor.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
code_editor.h renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03:00
connections_dialog.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
connections_dialog.h Style: Fix whole-line commented code 2017-01-14 14:52:23 +01:00
create_dialog.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
create_dialog.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
dependency_editor.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
dependency_editor.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
doc_code_font.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
doc_font.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
doc_title_font.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
editor_asset_installer.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_asset_installer.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_audio_buses.cpp Audio bus editing is COMPLETE! 2017-01-25 14:31:52 -03:00
editor_audio_buses.h Audio bus editing is COMPLETE! 2017-01-25 14:31:52 -03:00
editor_autoload_settings.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_autoload_settings.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_data.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_data.h Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
editor_dir_dialog.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_dir_dialog.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_file_dialog.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_file_dialog.h Finish renaming *Frame GUI classes to *Rect 2017-01-14 10:52:54 +01:00
editor_file_system.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_file_system.h Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
editor_fonts.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_fonts.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
editor_help.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_help.h Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
editor_icons.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
editor_import_export.cpp -begin of export work, not done yet 2017-02-15 08:30:32 -03:00
editor_import_export.h -begin of export work, not done yet 2017-02-15 08:30:32 -03:00
editor_initialize_ssl.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_initialize_ssl.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
editor_log.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_log.h Style: Fix whole-line commented code 2017-01-14 14:52:23 +01:00
editor_name_dialog.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_name_dialog.h renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03:00
editor_node.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_node.h Save and restore debug options 2017-02-08 23:51:13 +09:00
editor_path.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_path.h renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03:00
editor_plugin.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_plugin.h Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
editor_plugin_settings.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_plugin_settings.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_profiler.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_profiler.h Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_reimport_dialog.cpp Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
editor_reimport_dialog.h Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
editor_resource_preview.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_resource_preview.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_run.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_run.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
editor_run_native.cpp Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
editor_run_native.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_run_script.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_run_script.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_scale.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_scale.h Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_settings.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_settings.h Save and restore debug options 2017-02-08 23:51:13 +09:00
editor_sub_scene.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
editor_sub_scene.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
editor_themes.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
editor_themes.h Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
file_type_cache.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
file_type_cache.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
filesystem_dock.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
filesystem_dock.h Lot of work in new importer, importing textures now works. 2017-02-01 09:46:36 -03:00
groups_editor.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
groups_editor.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
import_dock.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
import_dock.h Lot of work in new importer, importing textures now works. 2017-02-01 09:46:36 -03:00
inspector_dock.cpp Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
inspector_dock.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
multi_node_edit.cpp -begin of export work, not done yet 2017-02-15 08:30:32 -03:00
multi_node_edit.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
node_dock.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
node_dock.h Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
output_strings.cpp Style: Fix whole-line commented code 2017-01-14 14:52:23 +01:00
output_strings.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
pane_drag.cpp renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03:00
pane_drag.h renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03:00
progress_dialog.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
progress_dialog.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
project_export.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
project_export.h Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
project_manager.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
project_manager.h Type renames: 2017-01-11 00:52:51 -03:00
project_settings.cpp Merge pull request #7792 from Hinsbart/inputmap_fixes 2017-02-14 07:46:31 +01:00
project_settings.h ProjectSettings: InputMap dialog fixes 2017-02-13 07:58:29 +01:00
property_editor.cpp -begin of export work, not done yet 2017-02-15 08:30:32 -03:00
property_editor.h Lot of work in new importer, importing textures now works. 2017-02-01 09:46:36 -03:00
property_selector.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
property_selector.h Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
pvrtc_compress.cpp Style: Cleanups, added headers, renamed files 2017-01-16 08:04:23 +01:00
pvrtc_compress.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
quick_open.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
quick_open.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
register_exporters.h Welcome in 2017, dear changelog reader! 2017-01-01 22:03:33 +01:00
reparent_dialog.cpp Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
reparent_dialog.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
resources_dock.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
resources_dock.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
run_settings_dialog.cpp Removed the set_child_rect() in AcceptDialog. AcceptDialog now works as a container! 2017-01-10 01:49:55 -03:00
run_settings_dialog.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
scene_tree_dock.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
scene_tree_dock.h Add 'Copy Node Path' action to right mouse menu 2017-01-15 18:56:37 +08:00
scene_tree_editor.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
scene_tree_editor.h Style: Fix whole-line commented code 2017-01-14 14:52:23 +01:00
script_create_dialog.cpp Save and restore debug options 2017-02-08 23:51:13 +09:00
script_create_dialog.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
script_editor_debugger.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
script_editor_debugger.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
SCsub Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
settings_config_dialog.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
settings_config_dialog.h ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant. 2017-01-02 23:03:46 -03:00
spatial_editor_gizmos.cpp Rename the _MD macro to D_METHOD 2017-02-13 12:50:02 +01:00
spatial_editor_gizmos.h Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00