View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004775 | NoesisGUI | C++ SDK | public | 2026-02-05 11:20 | 2026-02-18 14:23 |
| Reporter | JinFox | Assigned To | jsantos | ||
| Priority | normal | Severity | minor | ||
| Status | resolved | Resolution | fixed | ||
| Product Version | 3.2 | ||||
| Target Version | 3.2.11 | Fixed in Version | 3.2.11 | ||
| Summary | 0004775: compilation error on clang using strict flags as Rive source code uses same variable name twice. | ||||
| Description | Hello, We had to do a manual change in all rive data_values source code due to a parameter and a static constant sharing the name "typeKey" and Clang not being happy to have to resolve which one is being referred to in the method implementation.
and here typeKey could refer to the static const or the parameter (c++ makes that the parameter takes precedence but depending of the compilation strictness, it may throw an error). renaming the parameter to inTypeKey for example clears out the confusion. It is not really an error per say but if you include this change it would allow us to minimize change on our side. | ||||
| Platform | Any | ||||
|
Could you please provide a patch with the exact changes? Thank you! |
|
|
Hello, patch.diff (5,226 bytes)
diff -urN -w --strip-trailing-cr --no-dereference data_values_withoutPatch/data_value_boolean.hpp data_values/data_value_boolean.hpp
--- data_values_withoutPatch/data_value_boolean.hpp 2026-02-05 09:46:54.119624600 +0000
+++ data_values/data_value_boolean.hpp 2026-02-05 11:08:36.422107800 +0000
@@ -14,9 +14,9 @@
DataValueBoolean(bool value) : m_value(value){};
DataValueBoolean(){};
static const DataType typeKey = DataType::boolean;
- bool isTypeOf(DataType typeKey) const override
+ bool isTypeOf(DataType inTypeKey) const override
{
- return typeKey == DataType::boolean;
+ return inTypeKey == DataType::boolean;
}
bool value() { return m_value; };
void value(bool value) { m_value = value; };
diff -urN -w --strip-trailing-cr --no-dereference data_values_withoutPatch/data_value_color.hpp data_values/data_value_color.hpp
--- data_values_withoutPatch/data_value_color.hpp 2026-02-05 09:46:54.121813900 +0000
+++ data_values/data_value_color.hpp 2026-02-05 11:08:36.495058900 +0000
@@ -14,9 +14,9 @@
DataValueColor(int value) : m_value(value){};
DataValueColor(){};
static const DataType typeKey = DataType::color;
- bool isTypeOf(DataType typeKey) const override
+ bool isTypeOf(DataType inTypeKey) const override
{
- return typeKey == DataType::color;
+ return inTypeKey == DataType::color;
}
int value() { return m_value; };
void value(int value) { m_value = value; };
diff -urN -w --strip-trailing-cr --no-dereference data_values_withoutPatch/data_value_enum.hpp data_values/data_value_enum.hpp
--- data_values_withoutPatch/data_value_enum.hpp 2026-02-05 09:46:54.122814500 +0000
+++ data_values/data_value_enum.hpp 2026-02-05 11:08:36.347479400 +0000
@@ -17,9 +17,9 @@
m_value(value), m_dataEnum(dataEnum){};
DataValueEnum(){};
static const DataType typeKey = DataType::enumType;
- bool isTypeOf(DataType typeKey) const override
+ bool isTypeOf(DataType inTypeKey) const override
{
- return typeKey == DataType::enumType;
+ return inTypeKey == DataType::enumType;
};
uint32_t value() { return m_value; };
void value(uint32_t value) { m_value = value; };
diff -urN -w --strip-trailing-cr --no-dereference data_values_withoutPatch/data_value_list.hpp data_values/data_value_list.hpp
--- data_values_withoutPatch/data_value_list.hpp 2026-02-05 09:46:54.124396900 +0000
+++ data_values/data_value_list.hpp 2026-02-05 11:08:36.459006500 +0000
@@ -15,9 +15,9 @@
public:
DataValueList(){};
static const DataType typeKey = DataType::list;
- bool isTypeOf(DataType typeKey) const override
+ bool isTypeOf(DataType inTypeKey) const override
{
- return typeKey == DataType::list;
+ return inTypeKey == DataType::list;
}
std::vector<ViewModelInstanceListItem*>* value() { return &m_value; };
void clear() { m_value.clear(); };
diff -urN -w --strip-trailing-cr --no-dereference data_values_withoutPatch/data_value_number.hpp data_values/data_value_number.hpp
--- data_values_withoutPatch/data_value_number.hpp 2026-02-05 09:46:54.126325600 +0000
+++ data_values/data_value_number.hpp 2026-02-05 11:08:36.384006800 +0000
@@ -14,9 +14,9 @@
DataValueNumber(float value) : m_value(value){};
DataValueNumber(){};
static const DataType typeKey = DataType::number;
- bool isTypeOf(DataType typeKey) const override
+ bool isTypeOf(DataType inTypeKey) const override
{
- return typeKey == DataType::number;
+ return inTypeKey == DataType::number;
}
float value() { return m_value; };
void value(float value) { m_value = value; };
diff -urN -w --strip-trailing-cr --no-dereference data_values_withoutPatch/data_value_string.hpp data_values/data_value_string.hpp
--- data_values_withoutPatch/data_value_string.hpp 2026-02-05 09:46:54.127324000 +0000
+++ data_values/data_value_string.hpp 2026-02-05 11:08:36.310930700 +0000
@@ -14,9 +14,9 @@
DataValueString(std::string value) : m_value(value){};
DataValueString(){};
static const DataType typeKey = DataType::string;
- bool isTypeOf(DataType typeKey) const override
+ bool isTypeOf(DataType inTypeKey) const override
{
- return typeKey == DataType::string;
+ return inTypeKey == DataType::string;
};
std::string value() { return m_value; };
void value(std::string value) { m_value = value; };
diff -urN -w --strip-trailing-cr --no-dereference data_values_withoutPatch/data_value_trigger.hpp data_values/data_value_trigger.hpp
--- data_values_withoutPatch/data_value_trigger.hpp 2026-02-05 09:46:54.128829300 +0000
+++ data_values/data_value_trigger.hpp 2026-02-05 11:08:36.531234700 +0000
@@ -14,9 +14,9 @@
DataValueTrigger(uint32_t value) : m_value(value){};
DataValueTrigger(){};
static const DataType typeKey = DataType::trigger;
- bool isTypeOf(DataType typeKey) const override
+ bool isTypeOf(DataType inTypeKey) const override
{
- return typeKey == DataType::trigger;
+ return inTypeKey == DataType::trigger;
}
uint32_t value() { return m_value; };
void value(uint32_t value) { m_value = value; };
|
|
|
Fixed in r16665 |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-02-05 11:20 | JinFox | New Issue | |
| 2026-02-05 12:01 | jsantos | Description Updated | |
| 2026-02-05 12:01 | jsantos | Assigned To | => jsantos |
| 2026-02-05 12:01 | jsantos | Status | new => assigned |
| 2026-02-05 12:01 | jsantos | Target Version | => 3.2.11 |
| 2026-02-05 12:02 | jsantos | Note Added: 0011841 | |
| 2026-02-05 12:02 | jsantos | Status | assigned => feedback |
| 2026-02-05 12:19 | JinFox | Note Added: 0011842 | |
| 2026-02-05 12:19 | JinFox | File Added: patch.diff | |
| 2026-02-05 12:19 | JinFox | Status | feedback => assigned |
| 2026-02-18 14:23 | jsantos | Status | assigned => resolved |
| 2026-02-18 14:23 | jsantos | Resolution | open => fixed |
| 2026-02-18 14:23 | jsantos | Fixed in Version | => 3.2.11 |
| 2026-02-18 14:23 | jsantos | Note Added: 0011901 |