diff --git a/Project.toml b/Project.toml index e3ea426..d36fbe0 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "QML" uuid = "2db162a6-7e43-52c3-8d84-290c1c42d82a" -version = "0.13.1" +version = "0.13.2" authors = ["Bart Janssens "] [deps] @@ -30,7 +30,7 @@ MacroTools = "0.5" Observables = "0.5" Qt6Svg_jll = "6.10" Qt6Wayland_jll = "6.10" -jlqml_jll = "0.10.2" +jlqml_jll = "0.10.3" julia = "1.10" [extras] diff --git a/src/QML.jl b/src/QML.jl index 5654ec6..95869de 100644 --- a/src/QML.jl +++ b/src/QML.jl @@ -330,6 +330,10 @@ end # QQmlPropertyMap indexing interface Base.getindex(propmap::QQmlPropertyMap, key::AbstractString) = value(value(propmap, key)) Base.setindex!(propmap::QQmlPropertyMap, val, key::AbstractString) = insert(propmap, QString(key), QVariant(val)) +function Base.setindex!(propmap::QQmlPropertyMap, val::QObject, key::AbstractString) + insert(propmap, QString(key), QVariant(val)) + setObjectOwnership(CxxPtr(val), CppOwnership) +end Base.setindex!(propmap::QQmlPropertyMap, val::QVariant, key::AbstractString) = insert(propmap, key, val) Base.setindex!(propmap::QQmlPropertyMap, val::Irrational, key::AbstractString) = (propmap[key] = convert(Float64, val))