]> granicus.if.org Git - icinga2/commitdiff
Even more bugfixes.
authorGunnar Beutner <gunnar@beutner.name>
Tue, 12 Jun 2012 09:34:48 +0000 (11:34 +0200)
committerGunnar Beutner <gunnar@beutner.name>
Tue, 12 Jun 2012 09:34:48 +0000 (11:34 +0200)
base/variant.cpp
components/configrpc/configrpccomponent.cpp

index 914bfdb14cb46338e8e0fa448a232bc2433ed770..f1956d416b51078630b6a16aa972547640afe3c3 100644 (file)
@@ -38,6 +38,15 @@ void Variant::Convert(VariantType newType) const
                return;
        }
 
+       if (m_Type == VariantInteger && newType == VariantString) {
+               stringstream sbuf;
+               sbuf << m_IntegerValue;
+               m_StringValue = sbuf.str();
+               m_Type = VariantString;
+
+               return;
+       }
+
        // TODO: convert variant data
        throw runtime_error("Invalid variant conversion.");
 }
index 01190acaff95ea6679f49c6b96d5d5547bf31762..6e5b02a7a0e5f856af4333c7a6110d17ea743dd9 100644 (file)
@@ -128,7 +128,7 @@ int ConfigRpcComponent::FetchObjectsHandler(const NewRequestEventArgs& ea)
 
 int ConfigRpcComponent::LocalObjectCommittedHandler(const ObjectSetEventArgs<ConfigObject::Ptr>& ea)
 {
-       ConfigObject::Ptr object = static_pointer_cast<ConfigObject>(ea.Source);
+       ConfigObject::Ptr object = ea.Target;
        
        if (!ShouldReplicateObject(object))
                return 0;
@@ -141,7 +141,7 @@ int ConfigRpcComponent::LocalObjectCommittedHandler(const ObjectSetEventArgs<Con
 
 int ConfigRpcComponent::LocalObjectRemovedHandler(const ObjectSetEventArgs<ConfigObject::Ptr>& ea)
 {
-       ConfigObject::Ptr object = static_pointer_cast<ConfigObject>(ea.Source);
+       ConfigObject::Ptr object = ea.Target;
        
        if (!ShouldReplicateObject(object))
                return 0;