summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.cpp3
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp32
-rw-r--r--platform/javascript/detect.py5
-rw-r--r--scene/gui/dialogs.cpp4
4 files changed, 24 insertions, 20 deletions
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp
index 526b4ab9ce..52eb8299d9 100644
--- a/drivers/gles3/rasterizer_storage_gles3.cpp
+++ b/drivers/gles3/rasterizer_storage_gles3.cpp
@@ -6280,7 +6280,10 @@ void RasterizerStorageGLES3::initialize() {
shaders.cubemap_filter.init();
shaders.particles.init();
+#ifndef GLES_OVER_GL
+
glEnable(_EXT_TEXTURE_CUBE_MAP_SEAMLESS);
+#endif
frame.count = 0;
frame.prev_tick = 0;
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index ebf2fa5a3a..7b015e484f 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -3478,20 +3478,19 @@ void CanvasItemEditorViewport::_create_preview(const Vector<String> &files) cons
for (int i = 0; i < files.size(); i++) {
String path = files[i];
RES res = ResourceLoader::load(path);
- String type = res->get_class();
- if (type == "ImageTexture" || type == "PackedScene") {
- if (type == "ImageTexture") {
- Ref<ImageTexture> texture = Ref<ImageTexture>(ResourceCache::get(path)->cast_to<ImageTexture>());
+ Ref<Texture> texture = Ref<Texture>(res->cast_to<Texture>());
+ Ref<PackedScene> scene = Ref<PackedScene>(res->cast_to<PackedScene>());
+ if (texture != NULL || scene != NULL) {
+ if (texture != NULL) {
Sprite *sprite = memnew(Sprite);
sprite->set_texture(texture);
sprite->set_modulate(Color(1, 1, 1, 0.7f));
preview->add_child(sprite);
label->show();
label_desc->show();
- } else if (type == "PackedScene") {
- Ref<PackedScene> scn = ResourceLoader::load(path);
- if (scn.is_valid()) {
- Node *instance = scn->instance();
+ } else {
+ if (scene.is_valid()) {
+ Node *instance = scene->instance();
if (instance) {
preview->add_child(instance);
}
@@ -3531,7 +3530,7 @@ bool CanvasItemEditorViewport::_cyclical_dependency_exists(const String &p_targe
void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &path, const Point2 &p_point) {
child->set_name(path.get_file().get_basename());
- Ref<ImageTexture> texture = Ref<ImageTexture>(ResourceCache::get(path)->cast_to<ImageTexture>());
+ Ref<Texture> texture = Ref<Texture>(ResourceCache::get(path)->cast_to<Texture>());
Size2 texture_size = texture->get_size();
editor_data->get_undo_redo().add_do_method(parent, "add_child", child);
@@ -3584,7 +3583,7 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &
if (default_type == "Polygon2D" || default_type == "TouchScreenButton" || default_type == "TextureRect" || default_type == "Patch9Rect") {
target_pos -= texture_size / 2;
}
- editor_data->get_undo_redo().add_do_method(child, "set_pos", target_pos);
+ editor_data->get_undo_redo().add_do_method(child, "set_position", target_pos);
}
bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, const Point2 &p_point) {
@@ -3646,8 +3645,9 @@ void CanvasItemEditorViewport::_perform_drop_data() {
if (res.is_null()) {
continue;
}
- String type = res->get_class();
- if (type == "ImageTexture") {
+ Ref<Texture> texture = Ref<Texture>(res->cast_to<Texture>());
+ Ref<PackedScene> scene = Ref<PackedScene>(res->cast_to<PackedScene>());
+ if (texture != NULL) {
Node *child;
if (default_type == "Light2D")
child = memnew(Light2D);
@@ -3665,7 +3665,7 @@ void CanvasItemEditorViewport::_perform_drop_data() {
child = memnew(Sprite); // default
_create_nodes(target_node, child, path, drop_pos);
- } else if (type == "PackedScene") {
+ } else if (scene != NULL) {
bool success = _create_instance(target_node, path, drop_pos);
if (!success) {
error_files.push_back(path);
@@ -3823,11 +3823,11 @@ CanvasItemEditorViewport::CanvasItemEditorViewport(EditorNode *p_node, CanvasIte
btn_group = memnew(VBoxContainer);
btn_group->set_h_size_flags(0);
- btn_group->connect("button_selected", this, "_on_select_type");
for (int i = 0; i < types.size(); i++) {
CheckBox *check = memnew(CheckBox);
check->set_text(types[i]);
+ check->connect("button_selected", this, "_on_select_type", varray(check));
btn_group->add_child(check);
check->set_button_group(button_group);
}
@@ -3851,8 +3851,8 @@ CanvasItemEditorViewport::CanvasItemEditorViewport(EditorNode *p_node, CanvasIte
label_desc = memnew(Label);
label_desc->set_text(TTR("Drag & drop + Shift : Add node as sibling\nDrag & drop + Alt : Change node type"));
- label_desc->add_color_override("font_color", Color(0.6, 0.6, 0.6, 1));
- label_desc->add_color_override("font_color_shadow", Color(0.2, 0.2, 0.2, 1));
+ label_desc->add_color_override("font_color", Color(0.6f, 0.6f, 0.6f, 1));
+ label_desc->add_color_override("font_color_shadow", Color(0.2f, 0.2f, 0.2f, 1));
label_desc->add_constant_override("shadow_as_outline", 1 * EDSCALE);
label_desc->add_constant_override("line_spacing", 0);
label_desc->hide();
diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py
index c828045179..d4d54b1ce8 100644
--- a/platform/javascript/detect.py
+++ b/platform/javascript/detect.py
@@ -74,9 +74,10 @@ def configure(env):
elif (env["target"] == "release_debug"):
env.Append(CCFLAGS=['-O2', '-DDEBUG_ENABLED'])
elif (env["target"] == "debug"):
- env.Append(CCFLAGS=['-D_DEBUG', '-Wall', '-O2', '-DDEBUG_ENABLED'])
- #env.Append(CCFLAGS=['-D_DEBUG', '-Wall', '-g4', '-DDEBUG_ENABLED'])
+ #env.Append(CCFLAGS=['-D_DEBUG', '-Wall', '-O2', '-DDEBUG_ENABLED'])
+ env.Append(CCFLAGS=['-D_DEBUG', '-Wall', '-g3', '-DDEBUG_ENABLED'])
env.Append(CPPFLAGS=['-DDEBUG_MEMORY_ALLOC'])
+ env.Append(LINKFLAGS=['--profiling-funcs'])
# TODO: Move that to opus module's config
if("module_opus_enabled" in env and env["module_opus_enabled"] != "no"):
diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp
index 89008b56bf..a58e62f061 100644
--- a/scene/gui/dialogs.cpp
+++ b/scene/gui/dialogs.cpp
@@ -205,11 +205,11 @@ void WindowDialog::_notification(int p_what) {
} break;
#ifdef TOOLS_ENABLED
case NOTIFICATION_POST_POPUP: {
- if (get_tree() && get_tree()->is_editor_hint())
+ if (get_tree() && get_tree()->is_editor_hint() && EditorNode::get_singleton())
EditorNode::get_singleton()->dim_editor(true);
} break;
case NOTIFICATION_POPUP_HIDE: {
- if (get_tree() && get_tree()->is_editor_hint())
+ if (get_tree() && get_tree()->is_editor_hint() && EditorNode::get_singleton())
EditorNode::get_singleton()->dim_editor(false);
} break;
#endif