summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/classes/ItemList.xml2
-rw-r--r--doc/classes/Node.xml1
-rw-r--r--modules/dds/texture_loader_dds.cpp2
-rw-r--r--scene/main/node.cpp12
4 files changed, 11 insertions, 6 deletions
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 38d32fe7c8..4e4947de6c 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -412,6 +412,7 @@
Fired when specified list item has been selected via right mouse clicking.
The click position is also provided to allow appropriate popup of context menus
at the correct location.
+ [member allow_rmb_select] must be enabled.
</description>
</signal>
<signal name="item_selected">
@@ -419,6 +420,7 @@
</argument>
<description>
Fired when specified item has been selected.
+ [member allow_reselect] must be enabled to reselect an item.
</description>
</signal>
<signal name="multi_selected">
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 90e9436307..dc754b4628 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -176,6 +176,7 @@
</argument>
<description>
Finds a descendant of this node whose name matches [code]mask[/code] as in [method String.match] (i.e. case sensitive, but '*' matches zero or more characters and '?' matches any single character except '.'). Note that it does not match against the full path, just against individual node names.
+ If [code]owned[/code] is [code]true[/code], this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through script, because those scenes don't have an owner.
</description>
</method>
<method name="get_child" qualifiers="const">
diff --git a/modules/dds/texture_loader_dds.cpp b/modules/dds/texture_loader_dds.cpp
index ff15aaa735..53e9773791 100644
--- a/modules/dds/texture_loader_dds.cpp
+++ b/modules/dds/texture_loader_dds.cpp
@@ -108,8 +108,8 @@ RES ResourceFormatDDS::load(const String &p_path, const String &p_original_path,
uint32_t magic = f->get_32();
uint32_t hsize = f->get_32();
uint32_t flags = f->get_32();
- uint32_t width = f->get_32();
uint32_t height = f->get_32();
+ uint32_t width = f->get_32();
uint32_t pitch = f->get_32();
/* uint32_t depth = */ f->get_32();
uint32_t mipmaps = f->get_32();
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 8189e77861..8fd7dc1d7b 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -2182,13 +2182,15 @@ void Node::_duplicate_signals(const Node *p_original, Node *p_copy) const {
continue;
}
NodePath ptarget = p_original->get_path_to(target);
- Node *copytarget = p_copy->get_node(ptarget);
- // Cannot find a path to the duplicate target, so it seems it's not part
- // of the duplicated and not yet parented hierarchy, so at least try to connect
+ Node *copytarget = target;
+
+ // Atempt to find a path to the duplicate target, if it seems it's not part
+ // of the duplicated and not yet parented hierarchy then at least try to connect
// to the same target as the original
- if (!copytarget)
- copytarget = target;
+
+ if (p_copy->has_node(ptarget))
+ copytarget = p_copy->get_node(ptarget);
if (copy && copytarget) {
copy->connect(E->get().signal, copytarget, E->get().method, E->get().binds, E->get().flags);